假设我已经接受()到我的服务器(在 Solaris 上运行)的连接,并且客户端已经关闭了连接。在服务器端关闭()它之前,服务器端的套接字(在 netstat 类别中)的状态是什么?它是绑定的吗?
tadeusz
问问题
2975 次
5 回答
7
它将是 CLOSE_WAIT,参见 tcp 状态图,例如在http://en.wikipedia.org/wiki/File:Tcp_state_diagram_new.svg
于 2008-12-15T10:44:21.900 回答
1
在这种情况下,客户端上的套接字将处于 TIME_WAIT 状态,而服务器上的套接字将通过 CLOSE_WAIT 并很快变为 CLOSED,因此在它完全从列表中消失之前,您可能无法在 netstat 中捕获它。
于 2008-12-16T12:27:50.443 回答
0
应该是从开始到--->CLOSE_WAIT
的末尾开始。FIN
TIME_WAIT
CLOSED
在这种情况下,首先启动的是客户端。所以服务器会去CLOSE_WAIT
。
于 2011-04-20T17:20:53.257 回答
0
CLOSE_WAIT
您可以通过以下方式检查:
ps辅助
lsof -a -p [server_process_id]
你会得到:袜子 0,8
状态 8:TCP_CLOSE
于 2016-06-13T20:36:06.773 回答
-1
我猜,TIME_WAIT。
您可以在 Linux 上使用“netstat”检查它,不知道在 Solaris 上如何操作。
于 2008-12-15T10:15:46.263 回答