我正在使用 Socket 类建立一个 java TCP 连接。
Socket socket = new Socket();
socket.connect(new InetSocketAddress(host,port),50);
我希望快速建立或根本不建立此连接,因此我使用 50 毫秒作为连接超时。
但如果我测量这些调用之间的时间,我会得到超过 50 毫秒:125 毫秒,甚至 200 毫秒。测量我使用 System.currentMillis() 的时间。我知道这种方法的粒度不是很好,但是+100ms 的差异实在是太荒谬了。
连接方法有问题?超时时间太短了 50 毫秒?我在 Windows 7 中使用 java 1.7.0_03。