Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
UDP経由でデータを送信するアプリがあります。最大/最適な送信バッファサイズを調べようとしています。2kパッケージの送信に成功しましたが、大きなパケットが問題でした。getSendBufferSizeを使用して、送信バッファーのサイズを確認してみました。110592バイトを返しました。それに近いものを送信しようとしてもエラーは発生しませんが、データはサーバーに到達します。
「許可された」送信バッファサイズを知るにはどうすればよいですか?
ありがとう。
DatagramPacket は UDP ベースのソケットの単なるラッパーであるため、通常の UDP ルールが適用されます。
完全な IP データグラムの理論上の最大サイズは 64 キロバイトですが、ルーティングが保証されているのは 576 バイトのみです。任意のネットワーク パスで、最小の最大送信単位を持つリンクが実際の制限を決定します。(1500 バイト、より少ないヘッダーが一般的な最大値ですが、ヘッダーの数を予測することは不可能であるため、メッセージを約 1400 バイトに制限するのが最も安全です。)
参考:Java DatagramPacket(UDP)最大送受信バッファサイズ