【问题标题】:Does Windows interfere with Java's Socket.setSOTimeout?Windows 是否会干扰 Java 的 Socket.setSOTimeout?
【发布时间】:2013-03-17 04:36:08
【问题描述】:
我是reading here, that
在连接时,JVM(Java 虚拟机)尝试解析
主机名到 IP/端口。 Windows 在 UDP 上尝试 netbios ns 查询(用户
数据报协议)端口 137,超时 1.5 秒,忽略任何
ICMP(Internet 控制消息协议)端口无法访问的数据包和
再重复两次,加起来为 4.5 秒。一世
建议将关键主机名放在您的 HOSTS 文件中,以确保
他们很快得到解决。另一种可能性是关闭 NETBIOS
完全在您的 LAN(局域网)上运行纯 TCP/IP。
目前这仍然是一个问题吗?因为我正在研究心跳传感器,我很好奇。
【问题讨论】:
标签:
java
sockets
connection-timeout
netbios
【解决方案1】:
您的引用不是规范性参考,只是另一个爱好网站,在这种情况下它是完全错误的。这些都与 setSoTimeout() 无关。他完全混淆了名称解析时间、连接时间和读取时间。 setSoTimeout() 设置读取超时,并且不受他所描述的恶作剧的影响,无论是否准确,正如他所说,这甚至不会在连接时发生:它们会在名称解析时发生。
让我向您保证,这绝不是在该网站或什至在该页面上发现的唯一混乱。十年前我告诉他这个页面上的几个错误,还有很多其他的,直到今天都没有更正,这让你对网站的准确性、最新性和内容有所了解审查机制。他唯一的反应是对我加了一句粗鲁的话。作为同行评审机制没有说服力。
坚持权威来源。