package info.istlab.ServerTester; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; public class EchoServer extends Server { public EchoServer() { this(10007); } public EchoServer(int port) { this(port, "127.0.0.1"); } public EchoServer(String bindaddress) { this(10007, bindaddress); } public EchoServer(int port, String bindaddress) { super(port, bindaddress); start(); } public void handleRequest() { Socket clientSocket = null; BufferedReader br; PrintStream os; String line; // サーバ側の処理の繰り返し while (thread != null) { try { clientSocket = serverSocket.accept(); // 接続がくるまで、ここで待つ System.out.println("accept"); br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); os = new PrintStream(clientSocket.getOutputStream()); // クライアントからのメッセージを待ち、受け取ったメッセージをそのまま返す while ((line = br.readLine()) != null) { System.out.println("(Server received) " + line); os.println(line); } } catch (IOException e) { System.out.println(e); System.out.println("disconnected " + clientSocket.toString()); } } } public static void main(String[] args) { invokeMain(args, "EchoServer"); } }