緑色の部分がコメントです。まずはコメントを手がかりに全体像を俯瞰して下さい。
/**
* MainClient.java
* キーボードから読み込んだ曜日、時限の情報をサーバに送信し、
* サーバから受信した「授業の情報」をディスプレイに表示するクライアント
**/
import java.io.*; // 入出力関連パッケージを利用する
import java.net.*; //ネットワーク関連のパッケージを利用する
public class MainClient{
/**
* 指定されたサーバに対して接続を要求し、
* 接続されたらキーボードから読み込んだ曜日・時限の情報を送信し、
* 受信した「授業の情報」をディスプレイに表示する
**/
public static void main(String args[]){
try{
/* キーボードから接続するサーバ名を読み込む */
BufferedReader kbd =
new BufferedReader(new InputStreamReader(System.in));
System.out.print("接続するサーバ名を入力してください> ");
String serverName = kbd.readLine();
/* 指定されたサーバの8000番ポートに接続要求を送る */
Socket socket = new Socket(serverName, 8000);
/* キーボードから曜日・時限の情報を読み込む */
System.out.println("該当する番号を入力してください。");
System.out.print("曜日(1:月 2:火 3:水 4:木 5:金)>> ");
int dayOfWeek = Integer.parseInt(kbd.readLine());
System.out.print("時限(1 〜 5) >> ");
int number = Integer.parseInt(kbd.readLine());
/* サーバに曜日・時限の情報を送信する */
ObjectOutputStream oos =
new ObjectOutputStream(socket.getOutputStream());
Integer data1 = new Integer(dayOfWeek);
Integer data2 = new Integer(number);
oos.writeObject(data1);
oos.writeObject(data2);
oos.flush();
/* サーバから「授業の情報」を受信する */
ObjectInputStream ois =
new ObjectInputStream(socket.getInputStream());
ClassTable ct = (ClassTable)ois.readObject();
/* 「授業の情報」を表示する */
ct.showData();
}// エラーが起こったらエラーメッセージを表示する
catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
}
}
|
リンク: <講座1・その2(4)> |--------------------------|--------------------------| <サーバ用プログラム> <クライアント用プログラム> <時間割を定義するプログラム>