收到数据的客户端socket句柄,是不是"有信号"的内核对象,能让WaitForXXX函数返回?
我写了一对简单的socket服务器/客户端程序,可以很好的工作。
然后我对客户端做了一点小的修改,原来的代码是
while(1){ char buf[10]={0}; if(0>=recv(hClient,buf,10,0)){ printf("recv error\n"); break; } printf("received %s\n",buf); }
while(1){ char buf[10]={0}; DWORD ret=WaitForMultipleObjects(1,(LPHANDLE)&hClient,FALSE,INFINITE); if(ret==WAIT_OBJECT_0){ if(0>=recv(hClient,buf,10,0)){ printf("recv error\n"); break; } printf("received %s\n",buf); } }