(13条消息) 端口数和最大连接数的关系

初学编程的人可能会有这样的误解:单个服务器程序可承受最大连接数“理论”上是“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最大可打开文件文件数限制的,当然,因为最大可打开文件数可以通过修改系统配置文件更改,所以最终最大连接数的限制来自于系统的资源限制。

写的好,accept之后并没有占用新的端口号,因为端口号是用来识别应用层进程的,一个服务器进程就是一个端口,连再多的客户端也是那一个端口。 当然如果你同一个客户端机子开n个进程去连这个服务器,客户端开的进程肯定不能超65535,如果说端口号和连接数有关系也只能在这儿有关系了。。但是客户端开这么多连接干啥,除非是压力测试

TCP报文的端口都是2个字节,如果端口号超过了65535,TCP报文中怎么表示呢?

(0)

相关推荐

  • linux的TCP连接数量最大不能超过65535个吗,那服务器是如何应对百万千万的并发的?

    这明显是进入了思维的误区,65535是指可用的端口总数,并不代表服务器同时只能接受65535个并发连接. 举个例子: 我们做了一个网站,绑定的是TCP的80端口,结果是所有访问这个网站的用户都是通过服 ...

  • 终于有人把TCP协议与UDP协议给搞明白了

    网络编程有三个要素,分别是IP地址.端口号和通信协议,那本文主要讲述的是TCP与UDP这两种通信协议,以及编程的实现. 首先,我们需要了解一下IP地址.端口号.通信协议的相关知识. 一.IP地址 网络 ...

  • 网络通信三要素 TCP通信 Socket套接字 ServerSockek

    网络编程三要素 协议:计算机中网络通信必须遵守的规则. IP地址:互联网协议地址(Internet Protocol Address), 俗称IP , 给网络中的计算机设备编订一个唯一的编号, 好比人 ...

  • C#socket编程

    我们做网络通信的时候需要有通信协议,在进行socket编程的时候有两种通信协议TCP.UDP,这次我们就用简单的方式在一台电脑建立TCP协议的服务器端和客户端并使之进行通信. 服务器端和客户端进行连接 ...

  • (13条消息) 机器学习

    时间序列分析预测法 简介 在之前,写了不少关于分类的算法,其中有传统机器学习算法如KNN.SVM,也有深度学习领域的算法如多层感知机,但是可以发现这里的算法核心思路都没有变化,利用一部分已有标签的数据 ...

  • (13条消息) DC

     1. 开关电源基础拓扑: BUCK减压型 先上电路图 图中器件T为  N-mos管 当PWM驱动高电平使得NMOS管T导通的时候,忽略MOS管的导通压降,等效如图2,电感电流呈线性上升,MOS导通时 ...

  • (13条消息) 音视频入门(四)

    一.JPEG的引入 JPEG属于一种图片压缩格式,之前我们通过对YUV420图像格式的学习,了解了怎么计算一帧YUV图像的大小.假设这里一帧图片的分辨率为1080p,像素格式为YUV420,那么它的大 ...

  • (13条消息) 工业相机的常见参数及选型

    一.相机成像原理如图所示: 注: 1)当物距为无穷远时,像距等于焦距,成像在焦平面上: 2)当物距为无穷无与两倍焦距之间时,像距在焦距与两倍焦距之间,成缩小的实像: 3)当物距等于两倍焦距时,像距与物 ...

  • (13条消息) 镜头的选型

    光学镜头在机器视觉系统中具有非常重要的地位,它的作用与人眼中的晶状体类似.一个光学镜头对像差校正的优良与否,即成像质量的好坏,可以通过像差的大小来衡量,一般较常见的像差类型有球差.像散.场曲.色差.畸 ...

  • (1条消息) 三数之和,程序员才懂的 Three Sum !

    今天给大家讲解一道经典鹅厂面试题,有一定难度.大家认真看哦. 建议先回顾一下前面关于该题简化版,二数之和. 两数之和(1) 01.题目示例 该题为 二数之和 的进阶版本,当然还有一个进阶版本为 四数之 ...

  • (1条消息) 两数之和,程序员才懂的 TwoSum 和 Abandon !

    (1条消息) 两数之和,程序员才懂的 TwoSum 和 Abandon !

  • (13条消息) 国密SM9算法C++实现之一:算法简介

    SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法.IBE算法以用户的身份标识作为公钥,不依赖于数字证书.国密SM9算法标准包括5个文档,分别为:  ...

  • (13条消息) 阿里云单盘百万IOPS的背后

    本文组织: 单盘100万IOPS意味着? 背后的技术猛料! 性能这么高,安全性有保障么? 笑对Intel漏洞? 存储界已三足鼎立? 2018年1月9日,阿里云在北京隆重发布了如下产品和技术: 其中,E ...