在C ++中,如何在套接字的情况下使用线程不阻塞我的接收功能?
// Receive until the peer closes the connection
do {
iResult = recv(lhSocket, recvbuf, recvbuflen, 0);
if ( iResult > 0 )
printf("Bytes received: %d\n", iResult);
else if ( iResult == 0 )
printf("Connection closed\n");
else
printf("recv failed: %d\n", WSAGetLastError());
} while( iResult > 0 );
closesocket(lhSocket);
WSACleanup();
最佳答案
调用CreateThread()创建一个新线程。如果要使用从套接字接收的信息更新UI,则应为窗口定义用户消息(值大于WM_USER
),然后调用PostMessage()通知窗口所需的信息。