远程关闭后TCP套接字的状态是什么?

时间:2008-12-15 10:04:29

标签: sockets tcp solaris netstat

假设我已接受()与我的服务器(在Solaris上运行)的连接,并且客户端已关闭连接。服务器端的socket(在netstat类别中)在服务器端关闭()之前的状态是什么?它是BOUND吗?

5 个答案:

答案 0 :(得分:7)

它将是CLOSE_WAIT,请参阅tcp状态图,例如:在http://en.wikipedia.org/wiki/File:Tcp_state_diagram_new.svg

答案 1 :(得分:1)

在这种情况下,客户端上的套接字将处于TIME_WAIT状态,服务器上的套接字将通过CLOSE_WAIT并很快移动到CLOSED,因此在它从列表中完全消失之前,您可能无法在netstat中捕获它。

答案 2 :(得分:0)

应该是CLOSE_WAIT,因为FIN的开头是TIME_WAIT ---> CLOSED首先。

在此,它是首先启动的客户端。所以服务器将转到CLOSE_WAIT

答案 3 :(得分:0)

CLOSE_WAIT

您可以查看:

ps auxf

lsof -a -p [server_process_id]

你会得到:袜子0,8

状态8:TCP_CLOSE

答案 4 :(得分:-1)

我想,TIME_WAIT。

您可以在Linux上使用“netstat”进行检查,不知道它是如何在Solaris上进行的。