Потоки в Windows с использованием C ++ - PullRequest
0 голосов
/ 18 августа 2010

В 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();

1 Ответ

2 голосов
/ 18 августа 2010

Вызовите CreateThread () , чтобы создать новую тему. Если вы хотите обновить свой пользовательский интерфейс информацией, полученной из сокета, вам следует определить сообщение пользователя для вашего окна (со значением больше WM_USER) и вызвать PostMessage () , чтобы уведомить ваше окно желаемая информация.

...