java - Windows 会干扰 Java 的 Socket.setSOTimeout 吗?

标签 java sockets connection-timeout netbios

我是reading here, that

On connect, the JVM (Java Virtual Machine) tries to resolve the hostname to IP/port. Windows tries a netbios ns query on UDP (User Datagram Protocol) port 137 with a timeout of 1.5 seconds, ignores any ICMP (Internet Control Message Protocol) port unreachable packets and repeats this two more times, adding up to a value of 4.5 seconds. I suggest putting critical hostnames in your HOSTS file to make sure they are resolved quickly. Another possibility is turning off NETBIOS altogether and running pure TCP/IP on your LAN (Local Area Network).

目前这仍然是一个问题吗?因为我正在研究心跳传感器,我很好奇。

最佳答案

您的引用不是规范性引用,只是另一个爱好网站,在这种情况下它是完全错误的。这些都与 setSoTimeout() 无关。他完全混淆了名称解析时间、连接时间和读取时间。 setSoTimeout() 设置读取超时,并且不受他描述的恶作剧的影响,无论准确与否,这甚至不会在连接时发生,正如他所说:它们会在名称解析时发生。

我向你保证,这远非该网站甚至该页面上唯一的困惑。十年前,我告诉他此页面上的几个错误,以及相当多的其他错误,所有这些错误至今仍未更正,这让您了解该网站的准确性、最新性和内容审查机制。他唯一的 react 就是对我说了一句粗鲁的话。作为同行评审机制缺乏说服力。

坚持使用权威来源。

关于java - Windows 会干扰 Java 的 Socket.setSOTimeout 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457569/

相关文章:

java - 将Java连接到MySQL数据库

kubernetes - 如何更改 OpenShift 中路由的 HTTP 请求-响应的允许超时?

C# 委托(delegate)给 Java 和方法的异步处理

java - 如何从java代码调用JavaScript函数android native

java - 无需 Maven 即可构建 unirest 请求

node.js - Socket.IO TLS 需要 key /证书

C 服务器客户端 FTP。有时,当文件很大时,我不会读完发送的所有内容

sockets - ReadFromUDP 不阻塞

c# - Mysql 备份超时过期 - C#

php - MySQL 5.6 需要很长时间才能连接,即使是 "MySQL 5.6 Command Line Client"