私は1440byteのペイロードを持つTCPパケットをWindows XP OSに非常に高速に送信するデバイスを持っています。 TcpAckFrequencyを0に設定します。つまり、パッケージを受信した直後にACKを送信します。 私はスレッドでソケットを読んでJavaアプリケーションを書いた:私の問題は、それが遅くなりDUP ACKを送信した後、いくつかの(50-60)パケットは、受信した後、WindowsのバッファがいっぱいになるということであるTCP受信ウィンドウサイズは常に完全
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
in.read(charArray, 0, 720);
コミュニケーション。
私はいつもバッファを読んでいるので、それがいっぱいになるのはなぜわかりませんか?
問題は、私がパケットを受け取った後にグラフを描くことであり、描画プロセスにより、ウィンドウにバッファを割り当て解除するのに十分な時間がないことがありました。今、私は描画関数をスキップし、正常に動作します。 ありがとうございました! – Tomi