知名网游架构.pdf

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
知名网游 Server 端架构分析 分类: GameEngine 专题之 Server 2010-08-04 16:19 186 人阅读 评论 (0) 收藏 举报 /sodme/archive/2004/12/12/213995.aspx 类似于 QQ 游戏百万人同时在线的服务器架构实现 收藏 本文作者: sodme 本文出处: /sodme 版权声明: 本文可以不经作者同意任意转载, 但转载时烦请保留文章开始前两行的版权、 作 者及出处信息。 QQ 游戏于前几日终于突破了百万人同时在线的关口, 向着更为远大的目标迈进, 这让 其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是 QQ 的对 手,因为 QQ 除了这 100 万的游戏在线人数外,它还拥有 3 亿多的注册量(当然很多是重 复注册的)以及 QQ 聊天软件 900 万的同时在线率,我们已经可以预见未来由 QQ 构建起 来的强大棋牌休闲游戏帝国。 那么,在技术上, QQ 游戏到底是如何实现百万人同时在线并保持游戏高效率的呢? 事实上,针对于任何单一的网络服务器程序, 其可承受的同时连接数目是有理论峰值的, 通过 C ++中对 TSocket 的定义类型: word ,我们可以判定这个连接理论峰值是 65535 , 也就是说,你的单个服务器程序,最多可以承受 6 万多的用户同时连接。但是,在实际应 用中,能达到一万人的同时连接并能保证正常的数据交换已经是很不容易了, 通常这个值都 在 2000 到 5000 之间,据说 QQ 的单台服务器同时连接数目也就是在这个值这间。 如果要实现 2000 到 5000 用户的单服务器同时在线,是不难的。在 windows 下,比较 成熟的技术是采用 IOCP --完成端口。 与完成端口相关的资料在网上和 CSDN 论坛里有很 多,感兴趣的朋友可以自己搜索一下。 只要运用得当, 一个完成端口服务器是完全可以达到 2K 到 5K 的同时在线量的。但, 5K 这样的数值离百万这样的数值实在相差太大了,所以, 百万人的同时在线是单台服务器肯定无法实现的。 要实现百万人同时在线, 首先要实现一个比较完善的完成端口服务器模型, 这个模型要 求至少可以承载 2K 到 5K 的同时在线率(当然,如果你 MONEY 多,你也可以只开发出最 多允许 100 人在线的服务器)。在构建好了基本的完成端口服务器之后,就是有关服务器 组的架构设计了。 之所以说这是一个服务器组, 是因为它绝不仅仅只是一台服务器, 也绝不 仅仅是只有一种类型的服务器。 简单地说, 实现百万人同时在线的服务器模型应该是: 登陆服务器+大厅服务器+房间 服务器。当然,也可以是其它的模型,但其基本的思想是一样的。下面,我将逐一介绍这三 类服务器的各自作用。 登陆服务器:一般情况下,我们会向玩家开放若干个公开的登陆服务器,就如 QQ 登 陆时让你选择的从哪个 QQ 游戏服务器登陆一样, QQ 登陆时让玩家选择的六个服务器入口 实际上就是登陆服务器。 登陆服务器主要完成负载平衡的作用。 详细点说就是, 在登陆服务 器的背后,有 N 个大厅服务器,登陆服务器只是用于为当前的客户端连接选择其下一步应 该连接到哪个大厅服务器,

文档评论(0)

niujiaoba + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档