package j2; // 時刻を答えるサーバプログラムNetclock.java // このプログラムはポート番号6000番で動作するサーバです // クライアントからの接続に対し,時刻を返します // このプログラムを停止させるにはコントロールCを入力してください // 使い方java Netclock import java.io.DataOutputStream; // ライブラリの利用 import java.io.IOException; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; import java.util.Date; // Netclockクラス class NetClock{ public static void main(String args[]){ ServerSocket servsock = null ;// サーバ用ソケット Socket sock ;// ソケットの読み書き用オブジェクト DataOutputStream writer ;// 出力ストリーム String outstr ;// 出力データを格納する文字列 int i ;//出力の繰り返し制御用変数 Date d ;// 日付時刻処理用オブジェクト try{ // サーバソケットの作成 servsock = new ServerSocket() ; servsock.bind(new InetSocketAddress("127.0.0.1", 5555)); // サーバ処理の繰り返し // while(true){ sock = servsock.accept() ;//接続受付 writer = new DataOutputStream(sock.getOutputStream()) ; System.out.println("accepted (client has connected)"); // 出力用データの作成 d = new Date() ; outstr = "\n" + "Hello, this is Netclock server." + "\n" + d.toString() + "\n" + "Thank you." + "\n"; System.out.println("(Server-side message) "+ outstr); // データの出力 writer.writeBytes(outstr); writer.flush(); // for(i = 0; i < outstr.length(); ++i) // out.write((int)outstr.charAt(i)) ; // out.write('\n') ; writer.close(); // 接続終了 sock.close() ; // } }catch(IOException e){ System.out.println("*** Exception ***"); System.out.println(e); System.exit(1) ; } } }