我想寫一個簡單的Java程序使用ServerSockets,將發送一些HTML代碼到瀏覽器。這裏是我的代碼:Java服務器:套接字發送HTML代碼到瀏覽器
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(55555);
} catch (IOException e)
{
System.err.println("Could not listen on port: 55555.");
System.exit(1);
}
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
if(clientSocket != null)
System.out.println("Connected");
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream());
out.println("HTTP/1.1 200 OK");
out.println("Content-Type: text/html");
out.println("\r\n");
out.println("<p> Hello world </p>");
out.flush();
out.close();
clientSocket.close();
serverSocket.close();
然後我在我的瀏覽器中去localhost:55555,什麼也沒有顯示。我知道連接正在工作,因爲程序在if語句中輸出「已連接」。我也嘗試從inputStream輸出數據,並且工作。但我試圖在瀏覽器中輸出的文本根本沒有顯示,程序運行完畢,並且在瀏覽器中出現「問題加載頁面 - 連接已重置」,但沒有顯示文本。
我已經搜索了互聯網,似乎每個人都用這種方式編碼,他們的文本顯示正常,他們有其他問題。 我該如何解決這個問題?
你考什麼瀏覽器?此代碼爲我在Chrome和Firefox中工作 – fmodos 2013-04-08 21:33:39
我在Firefox中測試 – ALR 2013-04-08 21:37:40
在Chrome中,我甚至沒有從inputStream獲得任何結果 – ALR 2013-04-08 21:39:44