java - java.net.Socket.connect 超时的准确性是多少?

标签 java sockets

我想知道方法 java.net.Socket.connect(SocketAddress, int timeout) 的超时精度是多少? ?

最初我以为它是建立在 java.lang.Object.wait 之上的因此有 10-15 毫秒的错误 ( source ),

但在查看源代码后,它所做的一切似乎就是将调用委托(delegate)给 java.net.SocketImpl.connect(SocketaAddress, int)。 .

这是否意味着 java.net.Socket.connect(SocketAddress, int) 不使用 Object.wait,因此不受 Object.wait 的 10-15 毫秒错误的影响?

最佳答案

首先,我希望套接字连接超时由操作系统/内核直接处理。 C 套接字 API 支持连接超时,因此我希望 JVM native 实现将简单地委托(delegate)给它。

其次,您为什么关心网络连接上 10-15 毫秒的精度?听起来您最终会得到非常脆弱的东西。

关于java - java.net.Socket.connect 超时的准确性是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9034359/

相关文章:

java - 发送 HL7 消息后何时关闭并重新打开套接字

javascript - 使用node.js和socket.io在Heroku上发布应用程序

java - 使用 Jax 生成 Proxy Web 服务客户端时出错

java - Maven、Tomcat 7、Struts 2、邮件 : javax/mail/Authenticator

Java Linux 非阻塞套接字超时行为

node.js - 多次写入时 Node 网络数据合并

java - 在 java 中使用 SimpleMailMessage 发送时显示发件人的地址而不是他的名字

java - PMD 自定义规则集 - 也许您拼错了规则名称?

java - 如何每秒刷新一次 View 以实时反射(reflect)变化?

Linux 和 I/O 完成端口?