diff --git a/bin/j2/EchoClient.class b/bin/j2/EchoClient.class deleted file mode 100644 index db3503c..0000000 --- a/bin/j2/EchoClient.class +++ /dev/null Binary files differ diff --git a/src/j2/EchoClient.java b/src/j2/EchoClient.java index f2c86f1..67f5782 100644 --- a/src/j2/EchoClient.java +++ b/src/j2/EchoClient.java @@ -14,14 +14,15 @@ BufferedReader is = null; // ポート9999番を開く + String host = "localhost"; try { - echoSocket = new Socket("localhost", 9999); + echoSocket = new Socket(host, 9999); os = new DataOutputStream(echoSocket.getOutputStream()); is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream())); } catch (UnknownHostException e) { - System.err.println("Don't know about host: localhost"); + System.err.println("Don't know about host: "+host); } catch (IOException e) { - System.err.println("Couldn't get I/O for the connection to: localhost"); + System.err.println("Couldn't get I/O for the connection to: "+host); } // サーバーにメッセージを送る diff --git a/src/j2/ThreadEchoClient.java b/src/j2/ThreadEchoClient.java new file mode 100644 index 0000000..64e9021 --- /dev/null +++ b/src/j2/ThreadEchoClient.java @@ -0,0 +1,58 @@ +package j2; + +import java.io.BufferedReader; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.Socket; +import java.net.UnknownHostException; +public class ThreadEchoClient { + public static void main(String[] args) { + // ソケットや入出力用のストリームの宣言 + Socket echoSocket = null; + DataOutputStream os = null; + BufferedReader is = null; + BufferedReader inputbr = null; + + // ポート9999番を開く + String host = "localhost"; + try { + echoSocket = new Socket(host, 9999); + os = new DataOutputStream(echoSocket.getOutputStream()); + is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream())); + inputbr = new BufferedReader(new InputStreamReader(System.in)); + } catch (UnknownHostException e) { + System.err.println("Don't know about host: "+host); + } catch (IOException e) { + System.err.println("Couldn't get I/O for the connection to: "+host); + } + + // サーバーにメッセージを送る + if (echoSocket != null && os != null && is != null) { + try { + // メッセージを送ります + os.writeBytes("HELLO\n"); + + // サーバーからのメッセージを受け取り画面に表示します + String line; + while ((line = is.readLine()) != null) { + System.out.println("Server: " + line); + if (line.equals("quit")) break; + if (inputbr.ready()) { + String s = inputbr.readLine(); + os.writeBytes(s+"\n"); + } + } + + // 開いたソケットなどをクローズ + os.close(); + is.close(); + echoSocket.close(); + } catch (UnknownHostException e) { + System.err.println("Trying to connect to unknown host: " + e); + } catch (IOException e) { + System.err.println("IOException: " + e); + } + } + } +} \ No newline at end of file