2011-08-08 4 views
1

javaで書かれた簡単なサーバを作成しました。このサーバは、htmlファイルのhtmlコードを接続しているクライアントに送信するだけです。それはポート8008を使用しています。問題は私がhttp://localhost:8008経由でこのhtmlを取得するためにchromeを使用したときに問題なく動作しているようです。 2人が正しく通信し、ブラウザがhtmlページを表示するためにはどうすればよいですか。私はServerSocketsを使用しています。また、Webブラウザはどのように情報を送信したり、サーバーに要求したりできますか?どのようにURLを使用して?ありがとう!Javaで書かれたブラウザとサーバ間の通信

ServerSocket serverSocket = null; 
    try { 
     serverSocket = new ServerSocket(8008); 
    } catch (IOException e) { 
     System.err.println("Could not listen on port: 8008."); 
     System.exit(1); 
    } 

    Socket clientSocket = null;; 
    try { 
     clientSocket = serverSocket.accept(); //This is the browser requesting for connection 
    } catch (IOException e) { 
     System.err.println("Accept failed."); 
     System.exit(1); 
    } 

    PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); 
    BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 

    out.println("Some HTML Code"); //The browser should be able to render the HTML Code sent 

    out.close(); 
    in.close(); 
    clientSocket.close(); 
    serverSocket.close(); 
+1

コードはありません?どのように私たちが助けてくれると思いますか? – SJuan76

+0

コード – Ram

答えて

2
The server you've developed is **not a web server**, right? The server you've developed **cannot handle HTTP requests**(used Sockets), but unfortunately the 

のブラウザでは、ネットワーク

上のファイルにアクセスするプロトコル(たとえば、HTTP)を使用します。

誤った処理によって結果が出ることが予想されます。私はあなたのServerSocket初期化で言及したポートに接続する必要があるクライアントJavaプログラムを開発すると言うでしょう。

+0

これは私が最初にしたものです。しかし、私たちはlocalhost:portを使う必要があります。とにかく、サーバーソケットを使用しているjavaサーバーが、ブラウザが読むことができる形式のデータを出力できるかどうか – Ram

+0

HTTPをApacheのHTTPサーバーのようなHTTPサーバーの 'www'ディレクトリに生成すると、WebブラウザでHTMLを取得できます。 – Venkat

0

TCPMONを使用して要求と応答をチェックすると、トラブルシューティングの絞り込みに役立ちます。

+0

を投稿しました[ここ](http://code.google.com/p/tcpmon/) – sudmong

0

HTTPはHTMLだけではなく、いくつかのヘッダーが含まれています。

HTTP/1.0 200 

サーバーによって送信される必要があります。

チェック:

a)は、サーバが効果的要求を受信して​​いること(サーバーが実行して応答していることをログ)

b)は、あなたが返信されたメッセージが有効なHTTPメッセージであることブラウザは受け入れます(HTTPは接続プロトコルですが、HTMLはコンテンツプロトコルですが、HTTP経由でHTMLまたはGIF画像を送信できます)。

GoogleでHTTPメッセージ形式を調べる

関連する問題