※ ChatGPTを利用し、要約された質問です(原文:UDPで受信スループットを測定)
UDP通信のスループット測定プログラム作成方法
このQ&Aのポイント
Javaを使ってUDP通信のスループットを測定するプログラムを作成する方法について説明します。
送信側で5242880バイトを128回に分割して送信し、受信側で受信する時間を計測します。
受信側でどのタイミングで受信処理を止めるかや、届いたパケットの数や到達率の計算方法についても解説します。
Javaを使って通信のプログラムを勉強しています。
UDP通信のスループットを測定するプログラムを作成しています。
送信側で5242880バイトを128回に分割して送信して、
受信側でそれらのパケットを受信する時間を計測するプログラムを
作りたいのですが、受信側でどのタイミングで受信処理を止めるのかがわかりません。
start = System.currentTimeMillis();
for(;;){
socket.receive(RecvPacket);
if(ループを抜ける条件)
break;
}
stop = System.currentTimeMillis();
で受信し続けて、受信するパケットがなくなったらループを抜けるというように考えました。
UDPでは送信されたパケットがすべて届くという保証はないので、
128回受信したらループを抜けるというようにできないので、困っています。
届いたパケットの数も数えて到達率も計算したいです。
受信が終わったら、ループを抜けるというようにしたいのですが、
どうすればよいでしょうか?
お礼
回答ありがとうございます。 アドバイスしていただいたことを参考にやってみます。