首页
社区
课程
招聘
[求助]listen接受大量connect怎么实现的?
发表于: 2012-12-4 09:35 5771

[求助]listen接受大量connect怎么实现的?

2012-12-4 09:35
5771
正在学习VC Socket,

int listen(int sockfd, int backlog);

问题一: 这里listen函数的第二个参数backlog表示在队列中的最大排队数量,如果我设置为4,是不是如果我在accept处理某一个TCP连接(还没有完成)的时候,如果这时突然来了四个connect,这四个connect就会排在列队中,第五个connect来的时候就会返回超时的错误?这个backlog参数不是能够连接的最大数量吧。

问题二:如果backlog表示的不是最多能连接上的数目,那么一台计算机能连接的最大连接数是不是只和CPU还有内存大小有关啊(建立不同端口的listen Socket应该不能解决用户过多的问题吧)。比如QQ这样用户数量庞大是不是要用很多的服务器?又或者是游戏平台,他们是如何处理listen和connect的问题的?

初学求教,谢谢各位了

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
IOCP..................................

你那个select模型是很基础的..自个儿倒腾着玩儿就用吧...大型的还是搜索下IOCP吧.简单.
2012-12-4 10:16
0
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
3
请问完成端口模型IOCP一般能够连接多少个客户呢?能到十万级别么?
2012-12-4 10:27
0
雪    币: 15
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
假如是突然连接大量客户的话 用socket池+AcceptEx 模型的话 肯定IOCP了
2012-12-4 10:48
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
10万估计扛不住..1-3万应该问题不大...哈..我没有实际应用过这么大的负载...只是网上有朋友测试过.好像3万多最多4万就上不去鸟...

2万应该是比较稳定的阀值吧..你机器别太挫了.哈哈..

具体你多搜索下..
2012-12-4 11:05
0
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
6
回大婶,那比如做一个对战平台,或者类似QQ这样,他们只能通过增加服务器,来处理么?
2012-12-4 13:29
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
多网关
IOCP+多网关
每个进程开放一个端口  或者端口复用?
就像传奇的引擎那样
Ser端有多个网关
一个网关连接满了下一个上
2012-12-10 03:18
0
雪    币: 66
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
个人看法: 游戏服务端的高并发主要体现在同时在线玩家数,而不是同时可以连接的玩家数。
即高并发是同时在线1w人,而不是说同时可以连接的数量。(主流国产游戏,比如巨人,单组服务器理论可以达到1w人,一般的都是几千人就不错了。)
windows环境的话,用的iocp.
服务器结构:网关服务器(N)-->game logic server. 通过多网关方式来负载均衡。

总结:不论select还是Iocp都会用到listen函数。一般一个网关服务器里一个线程来监听连接,一个线程跑iocp线程。同一时间很多客户端连接,只有几个客户端连接成功。是可以接受的,只要继续点击登录或者错开时间连接。但是同一时间很多客户端连接上之后,很卡或者延迟,是不可接受的。
2012-12-12 15:37
0
雪    币: 952
活跃值: (1826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
iocp用 AcceptEx
2012-12-12 23:08
0
雪    币: 547
活跃值: (2200)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
那里有这种大型连接的实例啊
2012-12-13 13:09
0
雪    币: 952
活跃值: (1826)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
个人看到最好用的
http://www.cppblog.com/johndragon/default.html?page=2

或者
ASIO
2012-12-13 13:27
0
游客
登录 | 注册 方可回帖
返回
//