欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CLOSE_WAIT状态的生成原因 博客分类: JavaSocket

程序员文章站 2024-03-19 18:09:28
...

CLOSE_WAIT状态的生成原因
首先我们知道,如果我们的Client程序处于CLOSE_WAIT状态的话,说明套接字是被动关闭的!

因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:

       Server  --->  FIN  --->  Client

       Server  <---  ACK  <---  Client

    这时候Server端处于FIN_WAIT_2状态;而我们的程序处于CLOSE_WAIT状态。

       Server  <---  FIN  <---  Client

这时Client发送FIN给Server,Client就置为LAST_ACK状态。

        Server  --->  ACK  --->  Client

Server回应了ACK,那么Client的套接字才会真正置为CLOSED状态。