diff --git a/src/j3/Telnet.java b/src/j3/Telnet.java index fcea195..91b5168 100644 --- a/src/j3/Telnet.java +++ b/src/j3/Telnet.java @@ -1,6 +1,8 @@ package j3; import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; @@ -9,31 +11,25 @@ // プログラムの本体main public static void main(String[] args){ byte[] buff = new byte[1024];//配列の定義 + char[] cbuff = new char[1024];//配列の定義 Socket socket = null ;// サーバ接続用ソケット OutputStream outstr = null;// データ出力用オブジェクト - BufferedInputStream din = null;// データ読み取り用オブジェクト + BufferedReader din = null;// データ読み取り用オブジェクト boolean cont = true ; // 指定のポートに対して,ソケットを作成します // 入出力のストリームを作り,データ読み出しを準備します try{ socket = new Socket(args[0], Integer.parseInt(args[1])) ; outstr = socket.getOutputStream() ; //サーバへの送信用 - din = new BufferedInputStream(socket.getInputStream()) ; + din = new BufferedReader(new InputStreamReader(socket.getInputStream())) ; } catch (Exception e) { System.err.println("Network error.") ; System.exit(1) ; } // while (cont) { - try { - int n = din.read(buff); - if (n > 0) { - System.out.println(n); - System.out.write(buff, 0, n) ; - System.out.flush(); - } - - n = System.in.read(buff); + try { + int n = System.in.read(buff); // System.out.println(new String(buff)); if(buff[0] == '.') cont = false ; else outstr.write(buff,0,n) ; @@ -48,7 +44,12 @@ cont = true ; while (cont) { try { - + int n = din.read(cbuff); + if (n > 0) { + System.out.println(n); + System.out.print(new String(cbuff)) ; + System.out.flush(); + } } catch(Exception e){ // 読み出し終了時にループも終了