私のサーバーはクライアントにパケットを送信していますが、2番目のパケットは表示されません。 私のソケットがブロック型である場合、なぜこれが起こっているのかわかりません。クライアントとサーバーの間で同期をとる方法
while(1){
memset(buf,0,1024);
numbytes=0;
if ((numbytes = recv(sockfd, buf, 1024, 0)) == -1) {
perror("recv");
exit(1);
}
buf[numbytes] = '\0';
printf("%s\n",buf);
fflush(stdout);
}
fclose(fp);
close(sockfd);
* 2回受信しようとしていますか?あなたの質問を明確にしていただけますか? – cnicutar
Wiresharkは、これらの状況であなたを助ける手軽なツールです – stdcall
これは、ループが2回繰り返されている間に、初めて私がサーバから2回目に送信するデータを取得したことを意味しますが、それはブロックしてデータを待つ必要がありますサーバー側から来る – tod