いつもお世話になっています。
TCPサーバーを作成し、ブラウザにてローカルホストとポート番号を叩くと、Hello Worldと表示されるようにしたいのですが
行き詰っております。
また参考にしてるサイトの構文を模写し、まずは動かしてみようと思ったのですがこれもうまくいきません。
参考サイトではアクセスがあった時に日付を表示する仕様なので、そこをいじって、stringのHelloWorldを差し込んでみたのですが....
反応がありません。
現状では、eclipseではエラーはありませんが
ブラウザでアクセスした際に、ブラウザでは画面が表示されずに、ずっとバッファリング?丸印が回っています。
コンソールではgetリクエストが表示されています。
クライアントからの接続を待ちます。クライアント接続
GET / HTTP/1.1
Host: 127.0.0.1:9009
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
このような表示です。
ご指導ご鞭撻のほど宜しくお願い致します。
以下が作成したコードです。
Java
1 2package tcpServer; 3 4import java.io.BufferedReader; 5import java.io.IOException; 6import java.io.InputStream; 7import java.io.InputStreamReader; 8import java.io.PrintWriter; 9import java.net.ServerSocket; 10import java.net.Socket; 11 12public class TcpServer extends ServerSideTestByJava { 13 14 public static void main(String[] args) throws IOException { 15 16 // サーバーソケットクラスの listener を生成 引数でポート番号を指定 17 ServerSocket listener = new ServerSocket(9009); 18 // try catch構文で実行 19 try { 20 while(true){ 21 22 System.out.println("クライアントからの接続を待ちます。"); 23 // ソケットクラスのsocketを生成 24 // 内容はアクセスがあるまでクラスserverのアクセプトメソッドにて待ち続けます 25 Socket socket = listener.accept(); 26 27 try{ 28 System.out.println("クライアント接続"); 29 // クライアントから受け取った内容をインプットストリームクラスinputに格納 30 InputStream input = socket.getInputStream(); 31 32 String sayHello = "Hello , World!"; 33 34 // 以下が模写部分 35 PrintWriter out = new PrintWriter(socket.getOutputStream(), true); 36 out.println(sayHello); 37 // 模写終わり 38 39 // バッファリングリーダークラスのinputNeoを生成 40 // 内容はクライアントから受け取った情報の全て 41 BufferedReader inputNeo = 42 new BufferedReader(new InputStreamReader(socket.getInputStream())); 43 44 // 文字列 answerを定義 内容はクライアントから受け取った情報の①行 45 String answer = inputNeo.readLine(); 46 47 // クライアントから受け取った内容の行がnullになるまで繰り返す 48 while (answer != null){ 49 50 // 内容の①行を出して改行 51 System.out.println(answer); 52 53 // 文字列一行answerのstringに 54 // クライアントから受け取った情報の一行が格納される 55 answer = inputNeo.readLine(); 56 57 } 58 59 } finally{ 60 socket.close(); 61 } 62 } 63 } finally { 64 listener.close(); 65 } 66 } 67} 68 69
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/05 07:06
2017/06/05 07:12
2017/06/05 07:44