Y
yeow
Unregistered / Unconfirmed
GUEST, unregistred user!
在WinSock的5种异步模型中:事件选择模式和使用事件Overlap I/O的方式都用到了系统核心
对象Event。系统是利用WSAWaitForMultipleEvents函数来等待该Event被触发的。当该Event
被触发时或者超时则返回。注意:这里等待的Event对象一定是手工重置的,即触发后就一直
保持在激发状态。触发后,就可以接着处理数据了。处理完成后,一定要紧记调用
WSAResetEvent函数重新设置该Event为未激发状态。问题来了:如果在长连接情况下,该事件
对象(假设绑定的是FD_READ)已经激发了。正在处理中的情况下(Event尚未重置),
又有新的数据进来了,本来是可以触发事件的,结果……
这种情况会出现么?如果会,怎么解决呢?如果不会,为什么呢?
谢谢!
对象Event。系统是利用WSAWaitForMultipleEvents函数来等待该Event被触发的。当该Event
被触发时或者超时则返回。注意:这里等待的Event对象一定是手工重置的,即触发后就一直
保持在激发状态。触发后,就可以接着处理数据了。处理完成后,一定要紧记调用
WSAResetEvent函数重新设置该Event为未激发状态。问题来了:如果在长连接情况下,该事件
对象(假设绑定的是FD_READ)已经激发了。正在处理中的情况下(Event尚未重置),
又有新的数据进来了,本来是可以触发事件的,结果……
这种情况会出现么?如果会,怎么解决呢?如果不会,为什么呢?
谢谢!