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());
}
}
}
}