Java
Java
Java2 SE 5.0 API
Java2 SE 1.4 API
Java2 EE API
Struts 1.0.2
MSDN2 Library
MySQL 5.1
MySQL 4.1
HTMLリファレンス
CSSリファレンス
JavaScript
基本カラーチャート
カレンダー
 最新PG・講座情報
 最新ニュース
 電子辞書・辞典
ご意見・ご要望はこちらまで

課題

Java

マルチキャストプログラミング


1.マルチキャストプログラミングの概要

1.1 プログラムの仕様

 マルチキャストソケットを利用したマルチキャストのサーバ/クライアントプログラムを作成します。
 マルチキャストは、特定のグループに所属する全ての端末にパケットを送信します。前回のUDPでの送信を利用しますから信頼性はありません。 IPアドレスはクラスDを用い、224.0.0.0 から 239.255.255.255 までの範囲が利用出来き、ここでは 224.0.0.1(サブネット内の全てのシステムを表す)を使います。

 サーバとクライアントのプログラムのクラスは McastServerMcastClient とします。 全体では次のような流れになります。

  • 複数のクライアントのクラス(McastClient)を起動し、マルチキャストに参加する。
  • サーバのクラス(McastServer)を起動し、マルチキャストに参加する。

  • サーバから文字列を入力し、複数のクライアントに文字列を送信する。
  • 複数のクライアントは文字列を受信し、その文字列を画面に表示する。
  • サーバから入力を繰り返し、"quit"入力で終了する。
  • 複数のクライアントのクラスは、終了メッセージを表示し、終了する。

文字列の入力と表示の流れ(マルチキャスト)
 McastServerのメソッド一覧
No. 戻り値 メソッド名 引数 内容
1 なし (static) main パラメータ(String[])
なし
マルチキャスト・ソケットからの送信を行う

 McastClientのメソッド一覧
No. 戻り値 メソッド名 引数 内容
1 なし (static) main パラメータ(String[])
なし
マルチキャスト・ソケットからの受信を行う



1.2. マルチキャストでの無接続パケットの説明

 マルチキャストでのソケットはTCP/UDPでのソケットと区別してマルチキャスト・ソケットと呼びます。 自分に割り振られたIPアドレスは関係なく、特定のマルチキャスト専用のIPアドレスに、送受信するサーバもクライアントも全てが参加する形になります。
 データを受信する複数のクライアント側で同一のポート番号を指定すれば、サーバがそのポート番号へデータを送信すると、 全クライアントに同じデータが送信されます。
 マルチキャストではUDPで送信しますから、前回のデータグラム・パケットを利用します。

 Javaのプログラムではデータグラム・パケット関連は、次のクラスとして用意されています。
 MulticastSocketクラスはマルチキャスト・ソケットを作成し、 DatagramPacketクラスで送受信用のデータグラム・パケットを作成します。

サーバとクライアントのデータグラム送受信
 主なマルチキャストアドレス一覧
IPアドレス 内 容
224.0.0.0 (Reserved)
224.0.0.1 サブネット内の全てのシステム
224.0.0.2 サブネット内の全てのルータ
224.0.0.5 OSPFルータ
224.0.0.6 OSPF指名ルータ
224.0.0.9 RIP2ルータ
224.0.0.10 IGRPルータ
224.0.0.11 Mobile-Agents
224.0.0.12 DHCPサーバ/リレーエージェント


 
 INDEX
  課題 Java マルチキャストプログラミング
1.マルチキャストプログラミングの概要
  2.サーバ・プログラム
  3.クライアント・プログラム
  4.テストとまとめ
Top
Copyright© 2003-2007 FumikiChan All Rights Reserved.
http://www.fumikichan.net/