MSDN 提供以下代码:
int iResult;
// Receive until the peer closes the connection
do {
iResult = recv(ConnectSocket, 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 );
iResult 存储接收到的字节数!在我的情况下,我不能这样做,因为如果没有收到任何内容(或到达结束),接收会挂起 -> 所以退出条件永远不会匹配!
出了什么问题和/或为什么 recv 挂在这里?
问候