Newer
Older
my90NWP / src / j2 / TimeClient.java
package j2;

// TimeClient.java
// ネットワーク上のサーバからデータを受け取り,そのまま画面に出力します
// 使い方java TimeClient DNS 名ポート番号
// 例java TimeClient kiku.fuis.fukui-u.ac.jp 6000

//ライブラリの利用
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

// TimeClientクラス
public class TimeClient {
	// プログラムの本体main
	public static void main(String[] args) {
		if (args.length < 2) {
			args = new String[2];
			args[0] = "127.0.0.1";
			args[1] = "9999";
		}
		new TimeClient(args[0],args[1]);
	}
	public TimeClient(String address, String strport){
		Socket socket = null;// サーバ接続用ソケット
		BufferedReader reader = null;
		// 指定のポートに対して,ソケットを作成します
		// オブジェクトinstrを作り,データ読み出しを準備します
		try {
			socket = new Socket(address, Integer.parseInt(strport)) ; // 第2引数は文字列を整数に変換して渡す
			reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		} catch (Exception e) {
			System.err.println("サーバ ["+address+":"+strport+"] に接続できませんでした");
			System.exit(1); // 異常終了(エラーで終了)なら1
		}

		// データの終了まで,以下のループを繰り返します
		String line = null;
		try {
			while ((line = reader.readLine()) != null) {
				System.out.println("[Reply] " + line);
			}
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		// コネクションを閉じます
		try {
			reader.close();
		} catch (Exception e) {
			// ネットワーククローズ失敗です
			System.err.println("ネットワークのエラーです");
			System.exit(1);
		}
	}
}