Tcp连接挂起CLOSE_WAIT状态

Sam*_*iao 11 linux network-programming tcp qemu network-protocols

客户端首先关闭套接字,当服务器没有太多数据时,tcp连接关闭就好了:

FIN -->
   <-- ACK
   <-- FIN, ACK
ACK -->
Run Code Online (Sandbox Code Playgroud)

当服务器忙于发送数据时:

FIN -->
    <-- ACK,PSH
RST -->
Run Code Online (Sandbox Code Playgroud)

并且服务器连接进入CLOSE_WAIT状态并在那里挂了很长时间.

这有什么问题?客户相关或服务器相关?这种情况发生在Redhat5上,用于本地套接字.

文章说说为什么"RST"是送的,但我不知道为什么停留在CLOSE_WAIT服务器的连接,不发送一个FIN出来.

[编辑]我忽略了最重要的信息,这发生在qemu的slirp网络仿真上.这似乎是处理密切连接的slirp bug的问题.

Sam*_*iao 0

这是qemu 的一个已知缺陷。