ソケットプログラミングを使用して通信する2つのプログラムがあります。最初に番号を指定します。相互にメッセージを交換する必要がある回数に関するホップ数。メッセージを受信するたびに、その ID が追加されます。したがって、文字列は毎回サイズが大きくなります。私のプログラムは 8000 ホップまで正常に動作していますが、8000 ホップを超えた後、プログラム p1 は長さ 16388 の文字列を送信しますが、p2 は、ソケットに 16385 しか読み取れないことを識別します。ioctl() を使用して、ソケットで recv() の準備ができている文字の量を決定し、それを char * 変数で recv します...
p1 の send() と p2 の recv() に遅延があるため、 p2 は socket で 16385 文字しか識別しないのでしょうか?
例: P1 が長さ (16388) を送信する場合
P2 は次の長さ (16385) のみを受け取ります