クライアントのプログラム

緑色の部分がコメントです。まずはコメントを手がかりに全体像を俯瞰して下さい。

/**
 *     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)>

     |--------------------------|--------------------------|

<サーバ用プログラム> <クライアント用プログラム> <時間割を定義するプログラム