问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java Netty NIO 如何突破 65536 个端口的限制?如何做到 10万~50万...

发布网友 发布时间:2022-04-23 07:38

我来回答

7个回答

热心网友 时间:2022-04-13 05:43

首先说一下 服务器是只监听一个端口,所有的客户端连接,都是连接到服务器的同一个端口上的。也就是说服务器只是用了一个端口。就比如Http服务器。默认只用了80端口。
这是解答一些人的这个疑惑。
下面来回答你的问题
nio 在linux上使用的是epoll ,epoll支持在一个进程中打开的FD是操作系统最大文件句柄数,而不是你所说的16位short表示的文件句柄。 而 select模型 单进程打开的FD是受限的 select模型默认FD是1024 。操作系统最大文件句柄数跟内存有关,1GB内存的机器上,大概是10万个句柄左右。可以通过cat /proc/sys/fs/file-max 查看
这个可以在Netty权威指南第二版的第七页看到。
我ubuntu虚拟机,2G内存。结果是 200496
2019/05/09 修正一下上面让人误会的地方
“服务器是只监听一个端口” 这句话 请参照这一段的最后一行 “就比如Http服务器默认只用了80端口” 我这一段话里说的服务器并不是指服务器主机 硬件, 而是说 服务程序。 一个服务器主机操作系统上 可以运行很多服务程序, 而通常都会说 Netty服务器、Apache服务器、tomcat服务器、Mysql服务器 , 这里是指 Netty服务端 Apache服务端 tomcat服务端 Mysql服务端 。 再比如 一个游戏的登录服务器 没人会叫他 游戏Netty服务程序 或者Netty登录服务程序 , 而会称呼它是 Netty服务器或者登录服务器 或者xxx游戏登录服务器之类的。 只是依照行业术语来说的 被误会了很抱歉 这里解释一下 。

再次回答一下这个问题 Netty NIO不用突破65536个端口* 因为根本没有这个端口*问题 只有主动发起一个请求 才会占用一个本地端口 主动发起10个请求 会占用10个本地端口 我这里说的是长连接 Netty NIO是属于服务程序 他只需要监听一个端口 比如8000端口 这时候有10个客户端 连接到这个Netty服务器 都是10个客户端全都连接到服务器的8000端口 服务端只会占用8000端口这一个端口 所以不需要突破65536端口*

热心网友 时间:2022-04-13 07:01

NIO突破不了65535的端口数*,linux端口范围0--65535,一般用户1025 ~ 65535
server端最大tcp连接数,理论上是2的48次方。
一个端口最大连接数cat /proc/sys/fs/file-max查看
客户端连接上端口之后的处理,才是netty的内容。netty代码监听着某个端口。
长连接不是问题,可能你要考虑的是并发问题

热心网友 时间:2022-04-13 08:36

百年不遇的奇葩问题,连接数,跟端口有啥嘛关系,一个程序可以用多个端口,但绝对不会这么用,简直是浪费到极点,服务器端是使用了高可用方案才能做到10万~50万这么高的连接数。

热心网友 时间:2022-04-13 10:27

65536 指的是端口数目 一台电脑只有 最多65536个端口。不能可能使用超过 65536 个端口的 。但是每个端口可比不是只能有一个连接的。
一个 jvm 上保持 10万 ~ 50万 的长连接 指的是连接数,这么多连接使用的一个或者几十个端口,而不是所有的端口。
web服务 用80端口 每秒几万人访问的时候,并不是没人一个端口而是大家公用一个80端口的。追问兄弟,按您的解释,那就不是长连接服务了,我并不是在问 web 。感谢您的回答,不过有些跑题。而且一个电脑只有6万多个端口是谬论,我的提干里面已经有粗浅的阐述了。

热心网友 时间:2022-04-13 12:35

通道复用了解下

热心网友 时间:2022-04-13 15:00

不懂不要装懂 谁告诉你的 服务器只能监听一个端口 我觉得有些时候没有真正能明白 不要乱发言 这样会浪费别人的时间

热心网友 时间:2022-04-13 17:41

首先说一下 服务器是只监听一个端口
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
cad里面打完字怎么还原十字架 财务建帐需要什么 建账建账的基本要求 当爱情与亲情需要丢弃一样时,你会选择丢弃哪一方 当爱情和亲情有冲突时你会怎样决择?你会为你所爱的人不顾一切吗? 剑网三 查看余额 因为某些特殊原因不好登陆游戏查看,求其他方式_百度知 ... 右肺上叶中叶结节灶怎么回事 节能门窗有哪些标准 节能门窗有哪些 节能门窗具有哪些特征 Java查询ES会占用Linux文件句柄吗? linux如何获取磁盘的繁忙程度和打开的文件句柄数? linux下面怎么查询某个进程正在使用的socket句柄数量 怎样确认linux系统中目前打开的文件句柄数 文件句柄数是什么东东?怎样才能把Linux的文件句柄数给消耗完(不修改文... linux 句柄数代表打开文件数吗 修改linux的最大文件句柄数限制 怎么查看linux文件句柄数位置 吉林省事业单位通用知识考试中的主观题考什么? 吉林省事业单位笔试都考什么? 吉林事业编综合岗考什么 吉林省事业单位考试通用知识(乙)都考什么?和(甲)有什么区别?(乙)包括专业知识么 吉林事业单位考试《通用知识》的公文写作考什么题型?? 事业单位的教师考试考什么内容呢 事业单位考试的公共基础课都考什么内容? 吉林省公务员考试通用知识(乙)都考什么? 延边州事业单位考什么?延边州的,看清楚啊大哥大姐们!!! 吉林省直事业单位考试通用知识都考什么啊? 吉林省事业编考试都考什么内容?用什么书? 中国一般点的本一 医科大学有哪些 分数线大约多少 本人是福建省的 怎么看linux raw socket数目 脚底掉皮怎么办? linux 文件句柄数高怎么解决 脚底起皮的原因 Linux系统超出文件句柄限制数量怎么办 linux系统打开文件数过大会产生什么问题 LINUX下最大支持虚接口数是多少 Unix如何查看用户的最大文件句柄数及使用情况 linux 怎么查句柄泄露问题 Linux支持最大的SOCKET连接数量是多少 Linux(Centos)支持最大的SOCKET连接数量是多少? 怎么改qq性别 qq上如何改性别 手机QQ里面的性别男女怎么设置? qq怎么改性别资料 QQ技巧:怎么样修改QQ资料中的性别? qq性别怎么改成空白 怎么修改QQ性别 怎么从手机QQ中修改自己的资料? 如何才能修改QQ资料中的性别和每年龄?