jdk1.7 Socket默认connect超时时间
时间: 2023-09-16 21:10:12 浏览: 131
Socket接受数据超时
5星 · 资源好评率100%
在JDK1.7中,Socket的默认connect超时时间同样是0,也就是无限等待,直到连接成功或者失败。和JDK1.8一样,我们同样可以通过设置Socket的connect超时时间来避免无限等待,可以使用Socket的setSoTimeout()方法设置connect超时时间,单位是毫秒。
需要注意的是,在JDK1.7中,如果我们想要使用带超时时间的connect方法,需要使用SocketChannel进行连接,而不是直接使用Socket类。例如:
```
SocketChannel socketChannel = SocketChannel.open();
socketChannel.configureBlocking(true);
socketChannel.socket().connect(new InetSocketAddress("www.example.com", 80), 5000); // 设置connect超时时间为5秒
Socket socket = socketChannel.socket();
```
这里将SocketChannel的阻塞模式设置为true,然后通过socket方法获取到对应的Socket对象,这个Socket对象就可以进行后续的操作了。
阅读全文