Download presentation
Presentation is loading. Please wait.
1
WSAAsyncSelect 模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
官网地址: 联系QQ: QQ交流群 : 联系电话:
2
可以使用window应用程序能够接收网络事件消息. Int WSAAsyncSelect(
昆山爱达人信息技术有限公司 QQ: 可以使用window应用程序能够接收网络事件消息. Int WSAAsyncSelect( SOCKET s, //事件通知需要的Socket HWND hWnd, //网络事件发生时用于接收消息的窗口句柄 u_int wMsg, //网络事件发生时接收到的消息 long lEvent //感兴趣的网络事件比如FD_CLOSE FD_READ ); 返回值 :1.如果成功,则返回0 如果出现错误,则返回Socket_ERROR
3
2.使用WSAAsyncSelect时,系统会通过FD_CLOSE来告诉我们对方关闭了连接.
昆山爱达人信息技术有限公司 QQ: 使用要点: 1.调用WSAAsyncSelect会自动把套接字设为非阻塞模式.所以在使用send和recv时还应该检查WSAEWOULDBLOCK的错误. 2.使用WSAAsyncSelect时,系统会通过FD_CLOSE来告诉我们对方关闭了连接. 3.FD_WRITE消息的发送比较特殊.虽然FD_WRITE意味着send可以成功.但是并不是只要有可用空间系统就会发送一个FD_WRITE消息.实际上是,当一个连接刚建立后,系统会发送第一个FD_WRITE消息,程序在接收到第一个FD_WIRTE消息后,就可以一直调用Send来发送数据.而无须在一次send后等待另一个FD_WRITE消息.也就是说在收到第一个FD_WRITE消息后,程序就可以不断地调用send直到返回WSAEWULDBLOCK为止.
4
<基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见
昆山爱达人信息技术有限公司 QQ: 课后练习:(无) <基础二(WIN32、MFC、网络编程、数据库)线上班>学员可见
Similar presentations