什么是非监听套接字?

What is a non-listening socket?

netstat(8) man page 状态 "Show both listening and non-listening (for TCP this means established connections) sockets. With the --interfaces option, show interfaces that are not marked"

什么是非侦听套接字与侦听套接字?还占用港口吗?还是其他程序可以自由使用该端口?

侦听套接字是服务器进程正在等待某人连接到它的套接字,例如,空闲的网络服务器。它正在侦听的端口被认为正在使用中。

非侦听套接字是已经建立连接的套接字,例如,已连接浏览器等网络客户端并可以或正在传输数据的网络服务器。套接字正在侦听的端口通常也会循环回由同一进程或进程树侦听。

Sockets 运行 一个状态机。他们等待,然后响应请求。其中一个状态是'LISTEN'。

非聆听是所有其他状态,换句话说,当发生某些事情或建立连接时。

有一个很好的带有状态描述的 TCP 状态图 here。我在这里提供了一个缩小版本,以防 link 出现故障。