Tcp 侦听器套接字仅用于建立连接或处理所有传入数据

本文关键字:处理 数据 连接 套接字 侦听器 用于 建立 Tcp | 更新日期: 2023-09-27 18:31:45

侦听 Tcp 套接字是否会为每个已建立的连接创建一个新套接字来处理来自特定客户端的传入数据?这个答案:https://stackoverflow.com/a/26374740/5342935 建议如下:

服务器的原始套接字从不用于通过连接进行实际通信。它只是用于创建连接的套接字。

但是:我构建了一个基本的 Tcp/Ip 应用程序,并通过 wireshark 查看数据包,发现从客户端发送到服务器的数据被发送到与连接请求相同的 ip:port(= 相同的套接字,根据这个:https://stackoverflow.com/a/152863/5342935(表明套接字只是连接的一个端点)。由于对上面第一个答案链接的赞成票,我首先认为它可能只是错误的,但是很多人确认它是对的,这让我感到困惑。

Tcp 侦听器套接字仅用于建立连接或处理所有传入数据

你的观察是正确的,但结论是错误的:-)

侦听套接字实际上仅用于建立连接。然后,数据传输连接使用相同的客户端和服务器端口对,但操作系统将数据分发到特定于其所属客户端的不同套接字通道。