为了方便开发人员轻松开发网络应用程序,Visual C++MFC 提供了相应的Socket 类库,主要包括 CAsyncSocket 类、CSocket 类和 CSocketFile 类。
CAsyncSocket 类
CAsyncSocket 对象表示一个 Windows Socket,用于表示网络通信。CAsyncSocket 类封装了 Windows Sockets API,使用面向对象技术,方便与 MFC 其他类库一起编程。
1.创建 CAsyncSocket 对象
创建 CAsyncSocket 对象分为两步:首先调用构造函数创建一个空白的 Socket 对象,然后调用 Create 成员函数创建 SOCKET 数据结构并绑定地址。要注意的是,在服务器端应用程序的接受请求处理函数中,侦听 Socket 创建一个通信Socket 时,无须再调用Create( )函数。
Create 函数原型为
BOOL Create(UINT nSocketPort=0,int nSocketType=SOCK_STREAM,long lEvent =FD_READ|FD_WRITE|FD_OOB|FD_ACCEPT|FD_CONNECT|FD_CLOSE, LPCTSTR lpszSocketAddress=NULL);
其中,参数 nSocketPort 用于指定分配给 Socket 的端口号,默认为 0,表示由系统自动分配;参数 nSocketType 默认值为流式 Socket;参数 lEvent 为位屏蔽码,指定将为应用程序生成通知的事件集合,默认情况下所有事件都会通知;参数 lpszSocketAddress 为绑定地址,既可