/* * SampleServer.java * クライアントから送信された年齢を元に飲酒の可否を判定し、 * その結果を送り返すサーバー */ import java.io.*; // 入出力関連パッケージを利用する import java.util.*; // ユーティリティパッケージを利用する import java.net.*; //ネットワーク関連のパッケージを利用する public class SampleServer{ /*メイン・メソッド * 接続要求のあったクライアントに対して接続を行い * クライアントから送られる年齢を受信し、その年齢を元に * 飲酒の可否を判定した結果をクライアントに対して送信する */ public static void main(String arg[]){ try{ /* 通信の準備をする */ ServerSocket server = new ServerSocket(8000); //ポート番号を指定し、クライアントとの接続の準備を行う Socket socket = server.accept(); //クライアントからの接続要求を待ち、 // 要求があればソケットを取得し接続を行う /* 年齢を受信する */ ObjectInputStream ois = new ObjectInputStream(socket.getInputStream()); Integer data = (Integer)ois.readObject(); int age = data.intValue(); /* 飲酒の可否を判定する */ String message; if(age>=20){ message = "OK"; }else{ message = "NO"; } /* 判定結果をクライアントに送信する */ ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); oos.writeObject(message); oos.flush(); }// エラーが発生したらエラーメッセージを表示してプログラムを終了する catch(Exception e){ System.out.println("エラーが発生したのでプログラムを終了します") ;} } } |
>>第8講・その2(3)に戻る