+ -
当前位置:首页 → 问答吧 → 进程已经杀掉了,为什么还有LAST_ACK这个状态啊?

进程已经杀掉了,为什么还有LAST_ACK这个状态啊?

时间:2010-06-30

来源:互联网

我在测试SOCKET通信,,我把client端,关掉,再把server端进程杀掉,但是端口还是在占用,且有LAST_ACK这个状态,不能再次连接了。。这是为什么?

作者: sum_cn   发布时间: 2010-06-30

关闭一个TCP连接需要从两个方向上分别进行关闭,双方都是通过发送FIN来表示单方向数据的关闭,当通信双方发送了最后一个FIN的时候,发送方此时处于LAST_ACK状态,当发送方收到对方的确认(Fin的Ack确认)后才真正关闭整个TCP连接 。
出现这种情况,只能等待2MSL时间后LAST_ACK会自动消失

作者: rain_fish   发布时间: 2010-06-30

出现LAST_ACK本身就是不正常的,检查一下你的网络连接关闭时有什么问题。。

作者: rain_fish   发布时间: 2010-06-30