文档章节

转--端口数和最大连接数的关系

yjnic
 yjnic
发布于 2016/04/11 21:50
字数 664
阅读 58
收藏 0

精选30+云产品,助力企业轻松上云!>>>

初学编程的人可能会有这样的误解:单个服务器程序可承受最大连接数“理论”上是“65535”。
这种说法是错误的,请注意,这里有两个词分别被我标记上了引号,一个是“理论”,一个是“65535”。强调“理论”这个词,是想特别明确误解者的意思:就是说,这个值是不可能被打破的,是铁板钉丁的。而65535这个数字的由来,很多人想当然地将它与port最大值联系起来。的确,TCP的端口数,最大值确实为65535。但是,这并不代表一个服务器可以接受的连接数就是这个值,很多人之所以把这两个概念搞混淆是因为对socket和port没有更深的认识和理解。我们先来回想一下服务器服务的先后过程:服务器创建监听socket- >与对外服务的端口号绑定->开始listen->客户端连接到服务器对应的port->服务器accept为新的客户端产生新的socket->基于这个新的socket与客户端交换数据。从以上流程来看,最大值为65535的“端口号”这个重要的东东,我们只用了一次,就是执行bind的时候!而以后创建的socket,说白了就是一个可以进行网络IO操作的HANDLE而已,它跟端口号的牵扯仅限bind以及作为客户端连接服务器的识别端口号的时候,一旦accept产生了socket,这个端口号,对服务器和新客户端的通信而言就不再有任何意义。而服务器可承载的连接数最大量,不就是能产生多少个客户端的socket吗?这个socket值即使与端口号无关,又何来65535的“理论”上限?我再一次地将“理论”二字用引号括起,是因为在有的操作系统中,默认的配置会将socket最大值设定为65535,但这个值是可以改的!端口号仅仅是门牌地址,不能因为鸟巢体育场能容纳10万名观众就搞10万个门牌号码吧,那电话簿要多厚啊!
所以说最大连接数是受linux最大可打开文件文件数限制的,当然,因为最大可打开文件数可以通过修改系统配置文件更改,所以最终最大连接数的限制来自于系统的资源限制。

yjnic
粉丝 0
博文 9
码字总数 4333
作品 0
程序员
私信 提问
加载中
请先登录后再评论。
nginx---如何实现轻量级和高并发

转自:https://bijian1013.iteye.com/blog/2232124 Nginx 不同于 Apache2 的一点就是,Nginx 采用单线程,非阻塞,异步 IO 的工作模型。Apache2 对于每一个请求,都会创建一个新进程或线程,...

osc_994n5tsc
2018/12/18
0
0
服务器最大连接数问题

问题 服务器进程会有一个最大连接数,如果达到最大连接数,server端报错: listener accept fail: accept tcp [::]:6080: accept4: too many open files 此时,client端报错: dial tcp 172.2...

osc_o8pkds53
2019/02/14
3
0
503 Service Unavailable

转自:https://jingyan.baidu.com/article/6b1823099a258eba58e15902.html 第一 服务是不是被关闭了。 第二 原因IIS设置最大并发连接数 网站在浏览的过程中,突然页面显示Service Unavailab...

osc_jb8w6ufb
2018/08/03
7
0
Linux查看端口的连接数

一、查看哪些IP连接本机 netstat -an 二、查看TCP连接数 1)统计80端口连接数 netstat -nat | grep -i "80" | wc -l 2)统计httpd协议连接数 ps -ef | grep httpd | wc -l 3)统计已连接上的...

osc_v8ngb6p0
2019/11/19
1
0
Linux查看某个端口的连接数

一、查看哪些IP连接本机 二、查看TCP连接数 1)统计80端口连接数 2)统计httpd协议连接数 3)统计已连接上的,状态为“established 4)、查出哪个IP地址连接最多,将其封了 实例: 1、查看Apa...

王树民
04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

将字符串拆分为具有多个单词边界定界符的单词 - Split Strings into words with multiple word boundary delimiters

问题: I think what I want to do is a fairly common task but I've found no reference on the web. 我认为我想做的是一项相当普通的任务,但是我在网络上找不到任何参考。 I have text ...

fyin1314
56分钟前
9
0
jQuery选择器中的通配符 - Wildcards in jQuery selectors

问题: I'm trying to use a wildcard to get the id of all the elements whose id begin with "jander". 我正在尝试使用通配符来获取id以“jander”开头的所有元素的id。 I tried $('#jand......

法国红酒甜
今天
19
0
唐山5.1级地震 百度人工智能技术帮上忙:成都减灾所提前30秒让北京、天津市民收到预警

本文作者:y****n 7月12日6时38分在河北唐山市古冶区发生5.1级地震,成都高新减灾研究所与应急管理部门联合建成的大陆地震预警网成功预警该地震,给唐山市提前3秒预警,给天津市提前33秒预警...

百度开发者中心
昨天
30
0
如何使用PHP发送POST请求? - How do I send a POST request with PHP?

问题: Actually I want to read the contents that come after the search query, when it is done. 实际上,我想阅读搜索查询之后的内容,完成之后。 The problem is that the URL only a......

javail
今天
14
0
如何从Java读取文件夹中的所有文件? - How to read all files in a folder from Java?

问题: 如何通过Java读取文件夹中的所有文件? 解决方案: 参考一: https://stackoom.com/question/7jt2/如何从Java读取文件夹中的所有文件 参考二: https://oldbug.net/q/7jt2/How-to-rea...

富含淀粉
今天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部