我使用以下代码来输出HTTP请求消息。但在浏览器输出 HTTP 请求后,循环永远不会结束。看来bufferReader只是在输出HTTP请求后等待新字节。
InputStream inputStream = socket.getInputStream(); // socket is returned by
// serverSocket.accept()
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
// output HTTP request
String line;
while ((line = bufferedReader.readLine()) != null) { // the loop never ends
System.out.println(line);
}
最佳答案
我同意姆哈桑的观点。如果您提前知道消息的预期长度,则可以读取那么多字节,然后显式退出循环。
请参阅此答案中的代码示例:https://stackoverflow.com/a/19863726/2751039
关于java - 如何正确输出HTTP请求报文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40220200/