MFC 中的 Windows 套接字

注意

MFC 支持 Windows 套接字 1,但不支持 Windows 套接字 2。 Windows 套接字 2 最初是随 Windows 98 一起提供的,并且是 Windows 2000 中随附的版本。

MFC 提供两种用于使用 Windows 套接字编写网络通信程序的模型,这些模型体现在两个 MFC 类中。 本文介绍这些模型以及有关 MFC 套接字支持的更多详细信息。 “套接字”是通信的终结点:一个对象,应用程序通过网络与其他 Windows 套接字应用程序进行通信。

有关 Windows 套接字的信息,包括对套接字概念的解释,请参阅 Windows 套接字:背景

套接字编程模型

以下类支持两种 MFC Windows 套接字编程模型:

  • CAsyncSocket

    此类封装 Windows 套接字 API。 CAsyncSocket 适用于了解网络编程并希望灵活地直接对套接字 API 进行编程,但又希望方便地使用回调函数来提供网络事件通知的程序员。 除了以面向对象的形式打包用于 C++ 的套接字之外,该类提供的唯一附加抽象是将某些与套接字相关的 Windows 消息转换为回调。 有关详细信息,请参阅 Windows 套接字:套接字通知

  • CSocket

    此类从 CAsyncSocket 派生,可为通过 MFC CArchive 对象处理套接字提供更高级别的抽象。 使用具有存档的套接字与使用 MFC 的文件序列化协议非常相似。 这使得它比 CAsyncSocket 模型更易于使用。 CSocketCAsyncSocket 继承了许多用于封装 Windows 套接字 API 的成员函数;你必须使用其中的一些函数并大致了解套接字编程。 但 CSocket 可以管理通信的许多方面,而你必须使用原始 API 或 CAsyncSocket 类来自行完成通信。 最重要的是,CSocket 提供了阻塞(对 Windows 消息进行后台处理),这对于 CArchive 的同步操作至关重要。

Windows 套接字:使用带有存档的套接字Windows 套接字:使用 CAsyncSocket 类中介绍了如何创建和使用 CSocketCAsyncSocket 对象。

Windows 套接字 DLL

Microsoft Windows 操作系统提供 Windows 套接字动态链接库 (DLL)。 Visual C++ 提供相应的头文件和库以及 Windows 套接字规范。

有关 Windows 套接字的详细信息,请参阅:

另请参阅

Windows 套接字