如果没有收到完整请求并关闭连接,我有一台服务器在45秒后超时.我通过a连接到此服务器Socket并将我的请求写入套接字OutputStream.
Socket socket = new Socket("myhost", myPort);
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.write(properRequestMessage);
out.flush();
Run Code Online (Sandbox Code Playgroud)
我在这里假设我的要求很好(遵循我的协议).服务器应该用文件响应.我尝试从套接字输入流中读取:
BufferedReader response = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String in;
while((in = response.readLine()) != null) {
System.out.println(in);
}
Run Code Online (Sandbox Code Playgroud)
readLine()这里的块,我认为这是因为我的服务器认为我的请求没有正确终止,因此等待更多.
现在,如果45秒后通过并且我的服务器超时,是否会readLine()解锁或等待一些Socket默认的超时时间?
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |