求一个网游中排队系统的思路

小弟现在想试着实现一个类似于网游中的排队系统,当同一时间有很多客户端连接服务器时会进行排队
想知道其大概实现思路,先谢谢大家了……

作者: wangxkww   发布时间: 2011-06-15

gateSvr->loginSvr

排队都是在gatesvr上,减少loginsvr负载

gatesvr是个负载均衡服务

以上本人拙见!!

作者: yynetsdk   发布时间: 2011-06-15

网游服务器是一个服务器群组来的, 登录, 地图, 物品, 人物状态等等的服务器一堆的. 登录里面专门做登录的, 还有什么排队不排队的...一个个接着验证就是了

作者: dfasri   发布时间: 2011-06-15

当同一时间有很多客户端连接服务器时会进行排队。。是不需要的..只要系统tcp协议栈有足够的资源,就会分配个连接给客户。即使你没accept,系统已经和他建立好tcp连接了,所以.只要accept就行了.当然大量连接,客户偶尔会出现连不上的情况,多试就好了.

作者: smwhotjay   发布时间: 2011-06-15

说个本人思路吧,没做过,LZ 参考:

  服务端要求可以:
1.查询服务器允许的最大连接数
2.当前服务器已有连接数
3.服务器负载最大量
4.服务器已有负载
5.服务器管理排队列表,当列表中有人时,考虑是否可以接入一个新玩家,可以则接入,
不可以侧保持连接继续等待!

6.通过以上功能可以看出 服务器 是否可以接入一个新玩家,
如果资源已经消耗完了,那么就保持客户端的连接,让其等待其他玩家退出后介入。
如果已经有人在等了,那么直接在上一个人后面排队,也就是 存放到排队的列表里。

7.在用于保持连接的量也达到最大值前,通知客户端 稍后载试!



好了,希望可以帮到你哦!

作者: hawk004   发布时间: 2011-06-15

服务器负载最大量

作者: ateng5921   发布时间: 2011-06-15

我前几天测了下自己的iocp最大并发连接数. 结果上了1w. 每秒客户发送1KB给服务器.服务器echo返回给客户. 总io流量19M/S 本机测试

作者: smwhotjay   发布时间: 2011-06-15