2016-05-19 9 views
0

ソケットへの2回目の書き込み後、TCPスタックは読み取りを許可する前にACKを待つのはなぜですか?私は500ミリ秒までの一定の遅延を避ける方法があると信じています。これは "ACK遅延"です。誰かがソケットの内部実装の経験を共有して、この問題の根本を理解できるでしょうか?「書き込み - 書き込み - 読み取り」がなぜキラーですか? (500msのACK遅延)

+0

https://en.wikipedia.org/wiki/Nagle's_algorithm –

+0

本当に動作をバイパスする必要がある場合は、 'TCP_NODELAY'を使用してください。 –

答えて

0

いいえTCP-stackは、読み取りを許可する前にACKを待ちます。;いつでも自然に読み込み関数を呼び出すことができます。もちろん、他の側がそれを送信した後にしかデータを返すことはできませんが、送信を遅らせることができる "ACK遅延"ではありません。は特定のアプリケーションと設定と対話しています。 - TCP delayed acknowledgment

関連する問題