在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()通知窗口所需的信息。

10-05 18:13