package j2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class EchoServer { @SuppressWarnings("resource") public static void main(String args[]) { // ソケットや入出力用のストリームの宣言 ServerSocket echoServer = null; String line; BufferedReader br; PrintStream os; Socket clientSocket = null; // ポート9999番を開く try { echoServer = new ServerSocket(9999); } catch (IOException e) { System.out.println(e); } while (true) { try { // クライアントからの要求を受けるソケットを開く clientSocket = echoServer.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); } finally { System.out.println("disconnected " + clientSocket.toString()); } } } }