Mak*_*kky 2 java sockets timeout servlets
我有一个Java servlet尝试连接到源(使用请求IP地址).
方法如下:
String ip = request.getRemoteAddr();
private void connect(String ip) throws SocketException, IOException {
Socket socket = new Socket();
socket.setSoTimeout(1000);
socket.connect(new InetSocketAddress(ip, Constant.PORT));
}
Run Code Online (Sandbox Code Playgroud)
现在,如果它没有连接一秒,它应该抛出异常,但它不会在一秒内抛出异常但需要一段时间,如10-15秒.
有人可以帮助为什么会这样吗?
SO_TIMEOUT(由socket.setSoTimeout设置)仅影响socket.getInputStream().read().要指定连接超时,请为socket.connect指定第二个参数:
socket.connect(new InetSocketAddress(ip, Constant.PORT), 1000);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |