共用方式為


MFC 中的 Windows Sockets

注意

MFC 支援 Windows Sockets 1,但不支援 Windows Sockets 2 。 Windows Sockets 2 首先隨附于 Windows 98,且是 Windows 2000 隨附的版本。

MFC 提供兩個模型來撰寫使用 Windows Sockets 的網路通訊程式,這些模型包含在兩個 MFC 類別中。 本文說明這些模型,並進一步詳細說明 MFC 通訊端支援。 「通訊端」是通訊的端點:一個物件,您的應用程式會透過該物件與網路上的其他 Windows Sockets 應用程式通訊。

如需 Windows 通訊端的相關資訊,包括通訊端概念的說明,請參閱 Windows 通訊端:背景

通訊端程式設計模型

下列類別支援這兩種 MFC Windows Socket 程式設計模型:

  • CAsyncSocket

    這個類別會封裝 Windows Sockets API。 CAsyncSocket 適用于瞭解網路程式設計的程式設計人員,而且想要直接將程式設計彈性提供給通訊端 API,但也想要方便回呼函式來通知網路事件。 除了以物件導向形式封裝通訊端以用於 C++ 之外,這個類別所提供的唯一額外的抽象概念是將特定通訊端相關的 Windows 訊息轉換成回呼。 如需詳細資訊,請參閱 Windows 通訊端:通訊端通知

  • CSocket

    這個類別衍生自 CAsyncSocket ,提供較高層級的抽象概念,以透過 MFC CArchive 物件處理通訊端。 使用具有封存的通訊端非常類似使用 MFC 的檔案序列化通訊協定。 這可讓您比 CAsyncSocket 模型更容易使用。 CSocket 會從 CAsyncSocket 封裝 Windows Sockets API 繼承許多成員函式;您必須使用其中一些函式,並一般瞭解通訊端程式設計。 但是 CSocket ,管理您自己必須使用原始 API 或 類別 CAsyncSocket 進行的許多通訊層面。 最重要的是, CSocket 提供封鎖功能(使用 Windows 訊息的背景處理),這對 同步作業 CArchive 至關重要。

建立和使用 CSocketCAsyncSocket 物件描述于 Windows 通訊端:搭配封存 使用通訊端和 Windows 通訊端:使用類別 CAsyncSocket

Windows Sockets DLL

Microsoft Windows 作業系統提供 Windows Sockets 動態連結程式庫 (DLL)。 Visual C++ 提供適當的標頭檔與程式庫和 Windows 通訊端規格。

如需 Windows 通訊端的詳細資訊,請參閱:

另請參閱

Windows Sockets