2分ごとにサーバーからデータを受信する次の機能セットアップがあります。初めて私は機能すると思われますが、決して返さないrecv
コールでフリーズします。サーバーに何も送信しなくても各呼び出しでバッファを割り当てる必要がありますか?recvサーバーからの着信トラフィック
#define RCVBUFSIZE 32
void Receive()
{
UINT totalBytesRcvd = 0, bytesRcvd = 0;
char buffer[RCVBUFSIZE]; /* Buffer for string */
/* Receive up to the buffer size (minus 1 to leave space for
a null terminator) bytes from the sender */
bytesRcvd = recv(sockClient, buffer, RCVBUFSIZE - 1, 0);
if (bytesRcvd)
{
buffer[bytesRcvd] = '\0';
MessageBox(0, buffer, 0, 0); //some way to display the received buffer
}
else if (bytesRcvd == SOCKET_ERROR)
{
return;
}
}
注:あなた '(bytesRcvdが)'チェックはあなたがしようとする書きますつまり、条件(-1) 'SOCKET_ERROR'を満たす場合「バッファ[-1]'エラーが発生した場合と、続いてボロックに着きなさい! –