如果我有以下 netstat 输出:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 127.0.0.1:21950 ESTABLISHED 2129/mysqld
tcp 0 0 127.0.0.1:38766 127.0.0.1:10033 TIME_WAIT -
如果套接字的两端都在本地机器上,服务器和客户端是否可以出现在任一列中?
不,本地地址始终是所描述的进程打开的连接的结尾。在这种情况下,MySQL 服务器进程侦听端口 3306,因此这是任何已建立连接中的本地地址。队列也特定于所描述的连接方向。
对于已建立的连接,您应该在
netstat
orss
的输出中的其他位置看到对称连接。TIME_WAIT
连接是一种特殊情况。TIME_WAIT
用于确保新连接不接收杂散数据包;只有发起其终止的连接的一端会达到该状态(因为另一端知道它的通信者不会再发送任何东西)。连接由操作系统保留,因此不再与进程关联;本地地址是关闭连接的一端。