套接口库函数参考(八十五)

2010-12-30 21:03:01 · 作者: · 浏览: 59232
, 即它可能接收到消息及启动了一个会立即返回WSAEWOULDBLOCKWindows Sockets API调用.例如,下列的事件序列是可能的:

       (i) 数据到达套接口s;Windows Sockets传递WSAAsyncSelect消息.

       (ii)    应用程序处理其它一些消息.

       (iii)   在处理过程中,应用程序启动了ioctlsocket(s,FIONREAD...)并且注意到有数据准备好读.

       (iv)    应用程序启动recv(s,...)来读数据.

       (v) 应用程序循环处理下一条消息,最终到达WSAAsyncSelect消息,表示数据已准备好读.

       (vi)    应用程序启动recv(s,...),但失败并有错误WSAEWOULDBLOCK.

       其它的事件序列也是可能的.

       Windows Sockets DLL不会不断地为某一特定的网络事件向一个应用程序发送消息. 如果已成功地向应用程序窗口发送了一特定事件的通知,对该应用程序窗口将不再为该网络事件发消息,直到应用程序调用函数隐含地重新通知该网络事件.

       事件        重新通知函数

       FD_READ recv()recvfrom()

 &n