4.テストとまとめ |
4.1 確認テスト
コンパイル後のクラスファイルのうち、McastServer.class をサーバ側に、
McastClient.class をクライアント側の適当なフォルダ内(ここではD:\Java\Network)に配置します。
どちらを先に起動してもかまいませんが、サーバからの受信を待つという仕様ですから、クライアントサーバ側のプログラムから起動しておきます。
ここではサーバは192.168.1.10、クライアントは192.168.1.11のIPアドレスのパソコンを利用しますが、今回このIPアドレスは実行時には関係ありません。
マルチキャストですから複数のクライアントでマルチキャストに参加してかまいません。
注)左側の番号は入力・表示順で、入力部分は黄色で区別しています。
|
 |
| |
3: D:\Java\Network> java McastServer
4: マルチキャスト 224.0.0.1 に参加します
5: 終了は[quit]を入力して下さい
6: multi> multicast Test
8: multi> Hello World!
10: multi> quit
:
11: D:\Java\Network>
|
|
| サーバ側 (192.168.1.10) のコマンドプロンプト |
1: D:\Java\Network> java McastClient
2: マルチキャスト 224.0.0.1 に参加します
7: multicast Test
9: Hello World!
12: ..End..
:
13: D:\Java\Network>
|
|
| クライアント側 (192.168.1.11) のコマンドプロンプト(他のクライアントも同じ) |
|
1: クライアント (192.168.1.11) のクラスを起動(McastClient)
2: クライアント (192.168.1.11) がマルチキャストに参加した旨を表示
3: サーバ (192.168.1.10) のクラスを起動(McastServer)
4: サーバ (192.168.1.10) がマルチキャストに参加した旨を表示
5: サーバ (192.168.1.10) の終了方法を表示
6: サーバ (192.168.1.10) からデータの入力("multicast Test")
7: サーバ (192.168.1.10) からの受信データを表示("multicast Test")
8: サーバ (192.168.1.10) からデータの入力("Hello World!")
9: サーバ (192.168.1.10) からの受信データを表示("Hello World!")
10: サーバ (192.168.1.10) から終了データの入力("quit")
11: サーバ (192.168.1.10) が終了
12: クライアント (192.168.1.11) が終了メッセージを表示
13: クライアント (192.168.1.11) が終了
|
4.2 まとめ
TCP/UDPのechoコネクションと違って、サーバからの単方向の送信のみなので、テストは簡単だったと思います。
ただ3.3でのダブルバッファの問題は、小さいデータなら極まれな現象と思っていたのが間違いでした。
まだ他の文字をテストしないとだめですね。
なおTCPではサーバ側のパソコンでネットワークの共有を禁止にしている場合は、クライアントはサーバに接続できませんでしたが、
今回のマルチキャストもUDPですので、共有のポート番号には関係ないので送受信可能です。
|
|
|
プログラムをダウンロードしたい方は、
こちらをクリックして下さい --> kd050301.zip (3.03KB)
(クライアントは修正前と後の2つのプログラムがあります。)
|
|