マンガでよめる痔のこと・薬のこと

Java eclipse3.5を使っています。
UDP通信を使って帯域測定プログラムを作りたいと思っています。

動作の流れは、
1.クライアント側で送信データ(1MB,5MB,10MBのバイト)を作成し、それをサーバに送信する。
2.サーバ側では、送られた各データを受け取る(読み取る?)時間をそれぞれ計測し、計測時間をクライアント側に送信する。
3.クライアント側で、送信データ÷計測時間で通信速度を計算する。
4.それを表示する。

という感じにしたいと考えています。
頭では、こうしたいという構造はあるのですが、プログラムを書くとなると、どう書けばよいか分かりません。

どなたか、アドバイスをいただけないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

通信の仕方がまったく分からない、ということでしょうか。


であれば「java udp ソース」などで検索すればサンプルコードが見つかるので、それを参考にするとよいと思います。下記URLは一例です。
http://www.hellohiro.com/datagram.htm
    • good
    • 0
この回答へのお礼

komi1341さん、回答ありがとうございます。

早速教えていただいたサイトを見させていただきました。
このサイトにあるサンプルコードに書かれている
byte buf[] = "Hello World".getBytes();の部分で、
バイトに変換しているのですよね?

私は、例えばですが1MBのバイトを送信したいのですが、
その場合、どう書けばよいのでしょうか?

お礼日時:2009/10/25 01:49

> この部分を


> byte[] buf = new byte[1000000];
> と変更すればよいのでしょうか?

試せばすぐ分かるはずですが…自分で手を動かしてますか? サンプルコードをコンパイルして実行してみましたか?
プログラムは頭で考えるだけでは完成しないので、まずはご自身で試行錯誤してみてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
試行錯誤していますが、うまく作成できません。

ひとまず、こちらの質問は締めさせていただきます。
また、違うかたちでこの件に関する質問をさせていただいて
いますので、そちらの方で、分かることがございましたら、
またアドバイスをお願いします。

お礼日時:2009/11/09 15:05

> 私は、例えばですが1MBのバイトを送信したいのですが、


> その場合、どう書けばよいのでしょうか?

byte型の変数はサイズが1byteなので、byte型の配列なら配列サイズがそのままデータ量になります。なので

byte[] buf = new byte[1000000];

という配列ならサイズが1MBになります。
送信データを決めてからの送受信方法は、サンプルソースと同じですね。
    • good
    • 0
この回答へのお礼

komi1341さん、回答ありがとうございます。

サンプルコードの送信側では、
byte buf[] = "Hello World".getBytes();
となっていますが、この部分を
byte[] buf = new byte[1000000];
と変更すればよいのでしょうか?

お礼日時:2009/10/25 21:28

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング