我想写一个简单的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