「Java言語」実習 第18回RMIを利用し複数の分散オブジェクトによってアプリケーションを構築します。
準備1:
この後で必要となる
RMIのネームサービスを提供する rmiregistryサーバを起動しておきます。
(今日の実習を終了する時に停止させるのを忘れないこと)
rmiregistry
準備2:
今日も複数の端末のウィンドウが必要になります。
いずれも各自のJavaの作業用のディレクトリに移動して作業します。
準備3:
今回のサンプルを実行するためにもセキュリティの方針を設定するためのファイル
policyが必要です。
まだ作成していない人は作成しておいてください。
基本課題1:「メッセージのクラス」
これから行う通信の内容を表すクラスを用意します。
基本課題2:「サーバのインターフェイス」
サーバの役割をする分散オブジェクトの機能を定義します。
基本課題3:「受け手のインターフェイス」
メッセージの受け取り手の分散オブジェクトの機能を定義します。
基本課題4:「サーバの機能を実装する」
TalkServerの機能を具体的に実装します。
基本課題5:「StubとSkelクラスの生成」
TalkServerのスタブとスケルトンと呼ばれる特別なクラスを用意します。
rmic TalkServerImpl
基本課題6:「受け取り手の機能を実装する」
MessageReceiverの機能を具体的に実装します。
基本課題7:「StubとSkelクラスの生成」
MessageReceiverのスタブとスケルトンと呼ばれる特別なクラスを用意します。
rmic SimpleMessageReceiver
基本課題8:「メッセージ送信のクラス」
基本課題9:「サーバの起動」
サーバの分散オブジェクトを生成し、サービスを開始します。
java -Djava.rmi.server.codebase="http://www.wakhok.ac.jp/~logname/java/"
-Djava.security.policy="policy" ServerTest
基本課題10:「チャットへの参加」
受け取り手の分散オブジェクトを生成し、チャットに参加します。
java -Djava.rmi.server.codebase="http://www.wakhok.ac.jp/~logname/java/"
-Djava.security.policy="policy" ClientTest pc4fg6
今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を
tatsuo宛のメール
で報告しなさい。(Subjectは java18)
応用課題:「GUIの構築」
クライアント側のアプリケーションを GUI対応にしてみましょう。
java -Djava.rmi.server.codebase="http://www.wakhok.ac.jp/~logname/java/"
-Djava.security.policy="policy" MessageClient pc4fg6