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 模型更易于使用。 CSocket 继承许多成员函数,该 CAsyncSocket 函数封装了 Windows 套接字 API;你必须使用其中一些函数并一般了解套接字编程。 但是 CSocket ,管理通信的许多方面,你必须自己使用原始 API 或类 CAsyncSocket。 最重要的是, CSocket 提供阻塞(Windows 消息的后台处理),这对同步作 CArchive至关重要。

创建和使用 CSocket 对象 CAsyncSocketWindows 套接字中介绍:将套接字与存档和Windows 套接字配合使用:使用类 CAsyncSocket

Windows 套接字 DLL

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

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

另请参阅

Windows 套接字