非阻塞方式,明明收到FD_READ消息了,可是recv收数据时,为什么还是返回WSAEWOULDBOLCK?
mbctb 2015-07-21 06:59:42 在服务器端,我的程序结构是这样的:用一个socket监听。监听到一个连接进入以后,将它保存在一个socket数组中,并将它设为非阻塞模式,将消息绑定到一个窗口中(所有连接进来的socket绑定到同一个窗口)。
然后在该窗口中接收消息,发现收到消息以后,并且LOWORD(lParam)为FD_READ时,我用recv接收这个消息,其中socket参数就用wParam,结果发现,有的时候(不是总是),还是返回WSAEWOULDBOLCK?我查了一下资料,这表示没有数据可读。
明明收到FD_READ了,为什么recv还是读不到数据?