woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

接收connection,占用端口号?

iocp最大连接数实测能达到多少??

 

MSDN上说理论值在6W也就是系统端口的个数.从网上查到一些资料说最大实测值在5W以上,不知道各位牛人自己实测的值能到多少?要自己测试值,程序谁写的没关系.
我自己测能达到2W时,连接就已经不稳定了.


这个问题第1个回答:
我测试过本机连入是50k(60k可以连上,但是通讯的时候容易断线),局域网测试过80k,广域网,实际在用的是20k.
这个问题第2个回答:
80K??
不论用那种IO模型,一个socket连接都要占一个端口号,windows共有端口65535个,1000以内的要留给系统使用.按这么计算不可能超过6W(MSDN上也是说理论值也是6W,与这种理解基本相符).
这个问题第3个回答:
引用 2 楼 c38041125 的回复:
80K??
不论用那种IO模型,一个socket连接都要占一个端口号,windows共有端口65535个,1000以内的要留给系统使用.按这么计算不可能超过6W(MSDN上也是说理论值也是6W,与这种理解基本相符).
连出受端口与限制,连接仅受内存限制.
这个问题第4个回答:
比如
socket server;
listen( server, ...);
socket client = Accept(...);这个client并没有占用一个实际的端口.client代表的是什么?客户端的套接字么!
这个问题第5个回答:
引用 4 楼 c38041125 的回复:
比如
socket server;
listen( server, ...);
socket client = Accept(...);这个client并没有占用一个实际的端口.client代表的是什么?客户端的套接字么!
client是一个客户连接会话(session)
这个问题第6个回答:
谢谢了,好好研究一下我的程序和测试环境,看是那的问题.
这个问题第7个回答:
再问问,当时你测试的机器配置是什么样的?
这个问题第8个回答:
引用 2 楼 c38041125 的回复:
80K??
不论用那种IO模型,一个socket连接都要占一个端口号,windows共有端口65535个,1000以内的要留给系统使用.按这么计算不可能超过6W(MSDN上也是说理论值也是6W,与这种理解基本相符).
同意这个说法
这个问题第9个回答:
引用楼主 c38041125 的帖子:
MSDN上说理论值在6W也就是系统端口的个数.从网上查到一些资料说最大实测值在5W以上,不知道各位牛人自己实测的值能到多少?要自己测试值,程序谁写的没关系.
我自己测能达到2W时,连接就已经不稳定了.
只是接收连接,啥也不做的话,用啥模型还不是一样.反正都是将客户的连接接收放一边去不释放就是.
这个问题第10个回答:
如果在2003系统中,未分页内存可以达到250MB,除去一些驱动使用的,基本还会有200MB可用的.服务程序每调用accept(),acceptex()等接收一个套接字,要使用1.5KB左右的未分页内存,如果200MB的未分页内存可用的话,那么可以接收到10多W个连接了(这里程序只是接收客户连接,啥也不做的).如果是64位的系统,能接收的更多呢.
讨论这个有什么意义?
这个问题第11个回答:
引用 2 楼 c38041125 的回复:
80K??
不论用那种IO模型,一个socket连接都要占一个端口号,windows共有端口65535个,1000以内的要留给系统使用.按这么计算不可能超过6W(MSDN上也是说理论值也是6W,与这种理解基本相符).
补下基本知识.一个向外连接是需要占用到系统一个端口号的,但程序只是接收客户连接,是不需要占用任何额外系统端口的.
这个问题第12个回答:
引用 10 楼 WinEggDrop 的回复:
讨论这个有什么意义?
我只是问题一个最大的连接数,至于其它功能怎么实现是其它的问题.不在这个讨论之内.
如果你接触过,或是大牛可以告诉我接收一个连接要不要占用一个套拉字.
这个问题第13个回答:
引用 12 楼 c38041125 的回复:
引用 10 楼 WinEggDrop 的回复:
讨论这个有什么意义?
我只是问题一个最大的连接数,至于其它功能怎么实现是其它的问题.不在这个讨论之内.
如果你接触过,或是大牛可以告诉我接收一个连接要不要占用一个套拉字.
当然要占用套接字,但收接连接不需要占用系统额外一个端口.套接字 != 端口.系统可用端口是有限的,但套接字只是受系统可用未分页内存限制.如果是64位系统,有上G的未分页内存可用,你甚至可以接收几十W个连接(如果带宽和其它资源也足够的话)
这个问题第14个回答:
有点蒙.
记得套接字的定义是一个IP+port,比如 127.0.0.1  8080 这是一个套接字.
套接字 != 端口.??有点搞不懂了.
这个问题第15个回答:
端口号的多少是可以在注册表你修改的,不要说6W,只要机器性能好60W都可以
这个问题第16个回答:
实测8W,由于缺少客户机,没有继续测,可能还会更多,保守估计100W连接没问题。XP系统,跟端口没关系。
这个问题第17个回答:
端口号的多少是可以在注册表你修改的,不要说6W,只要机器性能好60W都可以

posted on 2011-08-27 15:01 肥仔 阅读(600) 评论(0)  编辑 收藏 引用 所属分类: 网络编程


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理