Javaオブジェクトのやりとり


シリアライズされたデータの読み書きを行う

通常のDaytimeサーバにはありませんが、 javaのオブジェクトをネットワークを経由して送る場合を考えます。

Serializable interfaceをimplementsしているクラスのオブジェクトは、 ObjectInputStreamクラスのreadObject()メソッドや ObjectOutputStreamクラスのwriteObject()メソッドを 利用して、javaのデータをそのまま送ることができます。


クライアント






TransObjectClient.javaの実行例
$ javac TransObjectClient.java 
$ java TransObjectClient localhost 
Remote time = Tue Oct 12 18:11:06 JST 2010

サーバ





TransObjectServer.javaの実行例
$ javac TransObjectServer.java 
$ java TransObjectServer 
accept: localhost.localdomain
sent Date: Tue Oct 12 18:11:06 JST 2010


コンピュータネットワーク 演習


提出〆切は次回の授業の開始時間です。


課題5b

提出先 http://ynitta.com/class/network/local/handin/list.php?id=kadai5b
提出ファイルTransObjectClient.java
コメント欄 クライアント側の実行結果

まず、JavaのAPI (たとえば http://ynitta.com/doc/jdk-6u10-docs/ja/api/ から読めます) で、Serializableインターフェイス, ObjectInputStreamクラス, BufferedInputStreamクラス, Socketクラスについて調べた上で、 TransObjectClient.javaの欠けている部分を補って正しく動作する プログラムにしなさい。