0

帯域幅が制限されています512Kbpsダウンロード368Kbpsアップロード

ループ内で10msの定期的な間隔で40バイトのUDPパケットを送信しています

Thread.sleep(10)ステートメントを使用します。

受信パケット(UDP)は、サイズが0〜1500バイトで、いつでも任意の量で受信できます。

channel.receive(); while(true){}ループで 。チャネルはブロッキングモードです。

このコードのパケットが欠落していると思います。

ダウンロード速度が遅いためにパケット損失を防ぐにはどうすればよいですか。

4

1 に答える 1

0

ダウンロード速度が遅いためにパケット損失を防ぐにはどうすればよいですか。

あなたはそれを防ぐことはできません。帯域幅が広い場合でも、ある程度のパケット損失は避けられません。

トランスポートとしてUDPを使用する場合は、パケット損失に直面しても回復力があるようにアプリケーションプロトコルを設計する必要があります。また、ネットワークリンクが大量のトラフィックでいっぱいになるのを防ぐ必要があります。これらは重要な問題です。

より簡単な代替方法は、TCPを使用し、パケット損失とフロー制御の問題が発生した場合の再試行に対処できるようにすることです。

于 2012-07-20T14:39:59.253 に答える