在 localhost 上打开并立即关闭 ServerSocket 会导致 TIME_WAIT?
ServerSocket open and immediate close on localhost will lead to TIME_WAIT?
我在 java 库之一中看到以下逻辑,用于测试本地主机上套接字的打开情况:
ServerSocket socket = new ServerSocket(port);
socket.close();
我的问题是,当没有发送数据包并且套接字打开后立即关闭时,这个套接字会导致本地主机上的 TIME_WAIT 状态吗?在这种情况下,如果应用程序尝试绑定到同一端口,如果在 2MSL 值内完成,它会导致 'address already in use error' 吗?
我写了一个像上面那样的小测试程序,但是当我在 运行 这个程序所在的 linux 机器上使用 netstat 或 ss 时,我根本看不到 TIME_WAIT港口。即使套接字未用于发送任何数据包,状态机也不应该应用吗?
TIME_WAIT是连接中的一个状态。您还没有建立联系,因此您永远无法到达TIME_WAIT。
我在 java 库之一中看到以下逻辑,用于测试本地主机上套接字的打开情况:
ServerSocket socket = new ServerSocket(port);
socket.close();
我的问题是,当没有发送数据包并且套接字打开后立即关闭时,这个套接字会导致本地主机上的 TIME_WAIT 状态吗?在这种情况下,如果应用程序尝试绑定到同一端口,如果在 2MSL 值内完成,它会导致 'address already in use error' 吗?
我写了一个像上面那样的小测试程序,但是当我在 运行 这个程序所在的 linux 机器上使用 netstat 或 ss 时,我根本看不到 TIME_WAIT港口。即使套接字未用于发送任何数据包,状态机也不应该应用吗?
TIME_WAIT是连接中的一个状态。您还没有建立联系,因此您永远无法到达TIME_WAIT。