我的工作环境是我的局域网。
下面的代码示例是用 Java 语言编写的,但我的问题是关于 TCP,而不是编程。
我经历了以下连接超时:
-
2 ms when connection established
- 1 005 毫秒,当主机处于活动状态但未侦听指定的套接字端口时
- 主机关闭时 21 000 毫秒
这个值来自对我的网络的观察,但我认为它存在一个 RFC。
以下是有关超时的一些信息:
- RFC 1122
- RFC 793
- Nagle's_algorithm和 TCP_NO_DELAY
你能给我更多的指点吗?
@Override
public void run() {
for( int port = _portFirst; port < _portLast; ++port ) {
String host = "192.168.1." + _address;
boolean success = false;
long before = System.currentTimeMillis();
try {
Socket socket = new Socket();
SocketAddress endpoint = new InetSocketAddress( host, port );
socket.connect( endpoint, 0 );
success = true;
socket.close();
}// try
catch( ConnectException c ){/**/}
catch( Throwable t ){
t.printStackTrace();
}
long duration = System.currentTimeMillis() - before;
System.err.println( host + ":" + port + " = " + duration );
_listener.hostPinged( host, port, success, duration );
}
}