// 处理客户连接请求,打印状态信息
while(TRUE)
{
int nRet = ::WaitForSingleObject(event, 5*1000);
::ResetEvent(event);
// 循环处理所有未决的连接请求
while(TRUE)
.................................
}
这段代码我看不太懂,WSACreateEvent()创建的是一个人工重置的事件,且创建后是无信号的,既然是无信号状态,那WaitForSingleObject如何能等的到这个事件对像呢?难道是WSAEventSelect函数能把它变成有信号状态?
网上对WSAEventSelect的说明是:
Windows Sockets应用程序在创建套接字后,调用WSAEventSelect()函数,将一个事件对象与网络事件集合关联在一起。当网络事件发生时,应用程序以事件的形式接收网络事件通知。
难道这个和event事件对象是不是有信号状态没有关系?并且他还能让event事件对象变成有信号状态?