我想知道方法 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/