C++에서 소켓의 경우 수신 기능을 차단하지 않기 위해 어떻게 스레드를 사용할 수 있습니까?C++을 사용하여 Windows 스레딩
// 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();
나는 이것에 대해 절대 확신하지는 않지만 대신 Boost.Asio를 사용하는 것이 비동기적이고 완벽하게 교차 플랫폼이며 스레드를 사용하지 않아도되므로 훨씬 편리하다고 생각합니다. http://www.boost.org/doc/libs/1_44_0/doc/html/boost_asio.html –