2
回答
socket 端口 请求
【腾讯云】学生服务器套餐10元/月 >>>   
今天在看socket时看到了一句话  “同一时刻,一个端口只能建立一个连接”。但是为什么我在netstat -anptu 时可以看到同一个端口有很多请求显示的是 “ESTABLISHED” 状态呢?如下图:这怎么解释呢?多谢各位指点!
举报
大圈
发帖于3年前 2回/191阅
共有2个答案 最后回答: 2年前
例如服务端在3306上监听,然后生成一个新的socket与client通讯。(注意:服务器端监听端口是
不变的,但socket连接可以一直生成,一个线程对应一个socket.)
同一时刻,一个端口只能建立一个连接。 (这个是指创建连接从无到有的过程)

在一个端口监听,但是在监听端口的同时,生成一个等待队列,每一个来自客户端的连接都会送入等待队列中,服务器利用一定的算法进行选择相应的连接请求处理,所以在一个端口可以监听多各请求嘛。如果同时的连接过多,服务器相应每个连接的时间就会相应的变长。就会变慢。

(netstat的截图是一个端口可以有多个client连接,有点文字游戏了。。)

--- 共有 1 条评论 ---
大圈你的意思是netstat 显示的ESTABLISHED 并不是代表真正的连接着? 3年前 回复

引用来自“0-1”的评论

例如服务端在3306上监听,然后生成一个新的socket与client通讯。(注意:服务器端监听端口是
不变的,但socket连接可以一直生成,一个线程对应一个socket.)
同一时刻,一个端口只能建立一个连接。 (这个是指创建连接从无到有的过程)

在一个端口监听,但是在监听端口的同时,生成一个等待队列,每一个来自客户端的连接都会送入等待队列中,服务器利用一定的算法进行选择相应的连接请求处理,所以在一个端口可以监听多各请求嘛。如果同时的连接过多,服务器相应每个连接的时间就会相应的变长。就会变慢。

(netstat的截图是一个端口可以有多个client连接,有点文字游戏了。。)

那时还不太理解你所说的,现在是懂了,多谢解答。
顶部