关于Socket设置连接超时

kknd97 kknd97 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序代码:
Socket socket = new Socket();
SocketAddress endpoint = new InetSocketAddress("192.168.30.23", 11);
long time = System.currentTimeMillis();
try {
socket.connect(endpoint, 2000);
} catch (Exception e) {
}

time = System.currentTimeMillis() - time;
System.out.println(time);
socket.close();
当要连接的计算机[192.168.30.23]在网路上不存在的时候:
JDK1.4:能够在规定的时间内抛出异常[java.net.SocketTimeoutException: connect timed out],结束阻塞。
JDK1.5:没有在规定时间内抛出异常,结束阻塞。
JDK1.6:能够在规定的时间内抛出异常[java.net.SocketTimeoutException: connect timed out],结束阻塞。

结论:我猜测会不会是JDK1.5的连接超时需要特殊的设置,或者是JDK1.5的实现有问题。

我的JDK1.5的版本如下:
java version "1.5.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-rc-b63)
Java HotSpot(TM) Client VM (build 1.5.0-rc-b63, mixed mode, sharing)

求助:
不知道大家是否也遇到过类似的问题,或者看到过相关的文献对此种情况有说明。

...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
kknd97
Java SE 62,620 成员 307,251 内容