我有一个服务器,如果没有接收到完整的请求并关闭连接,它将在45秒后超时。我通过 Socket
连接到这个服务器,并将我的请求写入套接字的 OutputStream
。
Socket socket = new Socket("myhost", myPort);
PrintWriter out = new PrintWriter(socket.getOutputStream());
out.write(properRequestMessage);
out.flush();
我假设我的请求是正确的(遵循了我的协议)。服务器应该以文件形式响应。我尝试从套接字输入流中读取:
BufferedReader response = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String in;
while((in = response.readLine()) != null) {
System.out.println(in);
}
< p > readLine()
在这里阻塞,我认为是因为我的服务器认为我的请求没有正确终止,因此正在等待更多的请求。
现在,如果45秒钟过去,我的服务器超时,readLine()
会解除阻塞,还是会等待一些Socket
默认的超时时间?