当监听套接字的服务器接受连接时会发生什么?
我的教授幻灯片包括这个解释
如果一切顺利,服务器会接受连接。接受后,服务器获取一个绑定到不同端口的新套接字。它需要一个新的套接字(因此是一个不同的端口号),以便在为连接的客户端提供服务时,它可以继续监听原始套接字的连接请求。
但我觉得这不对。因为如果在高负载服务器上,端口很容易耗尽。
究竟发生了什么?实际上多线程如何响应t套接字?
答案 0 :(得分:1)
你是对的。从开始到结束,你教授的幻灯片错误是错误的。新套接字使用与侦听套接字相同的本地端口。
我要补充一点,我真的觉得这件事很令人震惊。请教授解释以下netstat
输出:
TCP 0.0.0.0:389 0.0.0.0:0 LISTENING 2932
TCP 127.0.0.1:389 127.0.0.1:57863 ESTABLISHED 2932