WSAAsyncSelect模型允许应用程序以Windows消息的方式接收网络事件通知。许多对性能要求不高的网络应用程序都采用WSAAsyncSelect模型,MFC的CSocket类也使用了它。
WSAAsyncSelect自动把套接字设为非阻塞模式,并且为套接字绑定一个窗口句柄,当有网络事件发生时,便向这个窗口发送消息。
回传过来的消息类型与注册的wMsg相同,wParam等于套接字句柄,lParam通过WSAGETSELECTEVENT转义后就是FD_READ,FD_WRITE,FD_ACCEPT,FD_CONNET,FD_CLOSE
代码如下:
新建一个基于MFC对话框的工程,工程名为test,然后在testDlg.h中定义
同时在该文件中加入一个自定义消息处理函数
在testDlg.cpp中定义
在OnInitDialog中加入自己的初始化代码
添加自定义消息函数的处理:
对WM_DESTROY消息处理,清理套接字库