我正在请求在本地服务器端口 8080 上运行的网页,并希望在服务器(端口 8080)和客户端(随机端口)之间建立一个连接。但是另外一个端口也被创建并以TIME_WAIT
as 状态连接到服务器。所以只是想知道这个时间等待连接是关于什么的?
在连接到网络服务器之前
netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104965/java
连接到立即返回结果的网页后。
netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104965/java
tcp6 0 0 ::1:8080 ::1:53950 ESTABLISHED 104965/java
tcp6 0 0 ::1:53948 ::1:8080 TIME_WAIT -
tcp6 0 0 ::1:53950 ::1:8080 ESTABLISHED 20656/_Postman --no
端口53950
是与服务器通信的客户端随机端口,这是可以理解的。
但是53948
带有状态的端口的功能是什么TIME_WAIT
。
大约一分钟后,53948
与服务器的端口连接关闭。但是端口54950
会变为TIME_WAIT
状态。
netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104965/java
tcp6 0 0 ::1:8080 ::1:53950 TIME_WAIT -
大约几分钟后 - 一个新端口 (54008) 已打开并处于TIME_WAIT
状态。
netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104965/java
tcp6 0 0 ::1:54008 ::1:8080 TIME_WAIT -
大约 5 分钟后 - 所有端口都关闭
netstat -ntap | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 104965/java
有人可以解释一下TIME_WAIT
是什么以及为什么需要 2 个额外的端口。