diff --git a/src/j3/Phttpd.java b/src/j3/Phttpd.java index b529748..0cd8d0c 100644 --- a/src/j3/Phttpd.java +++ b/src/j3/Phttpd.java @@ -1,5 +1,5 @@ package j3; -// いんちきHTTPサーバPhttpd.java +// いんちきHTTPサーバPhttpd.java (Pseudo-HTTPD) 発音はスード // このプログラムはポート番号8000番で動作するサーバです // 使い方java Phttp データファイル名 // WWWクライアントからの接続に対し,引数で指定したファイルを返します diff --git a/src/j3/Telnet.java b/src/j3/Telnet.java index 67c3dc5..fc9b794 100644 --- a/src/j3/Telnet.java +++ b/src/j3/Telnet.java @@ -1,6 +1,6 @@ package j3; -import java.io.DataInputStream; +import java.io.BufferedInputStream; import java.io.OutputStream; import java.net.Socket; @@ -11,14 +11,14 @@ byte[] buff = new byte[1024];//配列の定義 Socket socket = null ;// サーバ接続用ソケット OutputStream outstr = null;// データ出力用オブジェクト - DataInputStream din = null;// データ読み取り用オブジェクト + BufferedInputStream din = null;// データ読み取り用オブジェクト boolean cont = true ; // 指定のポートに対して,ソケットを作成します // 入出力のストリームを作り,データ読み出しを準備します try{ socket = new Socket(args[0], Integer.parseInt(args[1])) ; outstr = socket.getOutputStream() ; //サーバへの送信用 - din = new DataInputStream(socket.getInputStream()) ; + din = new BufferedInputStream(socket.getInputStream()) ; } catch (Exception e) { System.err.println("Network error.") ; System.exit(1) ; @@ -41,8 +41,10 @@ while (cont) { try { int n = din.read(buff); - System.out.write(buff, 0, n) ; - System.out.flush(); + if (n > 0) { + System.out.write(buff, 0, n) ; + System.out.flush(); + } } catch(Exception e){ // 読み出し終了時にループも終了