diff --git a/src/main/java/info/istlab/ServerTester/ThreadEchoServer.java b/src/main/java/info/istlab/ServerTester/ThreadEchoServer.java index a43fa60..bd57e55 100644 --- a/src/main/java/info/istlab/ServerTester/ThreadEchoServer.java +++ b/src/main/java/info/istlab/ServerTester/ThreadEchoServer.java @@ -5,6 +5,7 @@ import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; +import java.net.SocketException; public class ThreadEchoServer extends Server { public ThreadEchoServer() { @@ -24,18 +25,13 @@ } public void handleRequest() { - if (!serverSocket.isBound()) { - try { - serverSocket.close(); - } catch (IOException e) { - } - return; - } - while (serverSocket.isBound()) { + while (thread != null) { try { Socket socket = serverSocket.accept(); System.out.println("[TES] ---\nConnection Requst from: " + (socket.getInetAddress())); new RequestHandler4TES(socket); + } catch(SocketException sx){ + thread = null; } catch (IOException e) { thread = null; } diff --git a/src/main/java/info/istlab/ServerTester/ThreadTimeServer.java b/src/main/java/info/istlab/ServerTester/ThreadTimeServer.java index 7dc1f94..3181b30 100644 --- a/src/main/java/info/istlab/ServerTester/ThreadTimeServer.java +++ b/src/main/java/info/istlab/ServerTester/ThreadTimeServer.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.io.PrintStream; import java.net.Socket; +import java.net.SocketException; import java.util.Date; // TimeServerクラス @@ -11,49 +12,48 @@ public ThreadTimeServer() { this(11123); } + public ThreadTimeServer(int port) { this(port, "127.0.0.1"); } + public ThreadTimeServer(String address) { this(11123, address); } + public ThreadTimeServer(int port, String address) { super(port, address); start(); } public void handleRequest() { - if (!serverSocket.isBound()) { + while (thread != null) { try { - serverSocket.close(); + Socket socket = serverSocket.accept(); + System.out.println("[TTS] ---\nConnection Requst from: " + (socket.getInetAddress())); + new RequestHandler4TTS(socket); + } catch (SocketException sx) { + thread = null; } catch (IOException e) { + thread = null; } - return; } - while (serverSocket.isBound()) { - try { - Socket socket = serverSocket.accept(); - System.out.println("[TTS] ---\nConnection Requst from: " + (socket.getInetAddress())); - new RequestHandler4TTS(socket); - } catch (IOException e) { - thread = null; - } - } } + public static void main(String[] args) { invokeMain(args, "ThreadTimeServer"); } } class RequestHandler4TTS implements Runnable { - Socket sock; - Thread thread; + Socket sock; + Thread thread; RequestHandler4TTS(Socket s) { - sock = s; - thread = new Thread(this); - thread.start(); - } + sock = s; + thread = new Thread(this); + thread.start(); + } public void run() { PrintStream os;