ACE框架在网络游戏服务器中的设计与应用

随着计算机网络的发展,特别是因特网的出现,数字娱乐和网络游戏产业得到了蓬勃的发展,异军突起的网络游戏成为中国网络产业中的先锋。而由于信息技术的进步,计算机、手机以及不同的传媒终端等不断涌现,如何将这些众多不同的终端通过互联网进行互联互动成为一大技术难点,而这些难点的突破取决于网络游戏服务器的开发。目前在各种服务器通信软件的设计和开发中,已经广泛地使用到软件设计模式。尤其在大型的服务器通信软件开发中常会采用模块化设计。当一个庞大的服务器系统执行任务时,往往要通过其中不同的模块进行协作完成,在这种情况下各机间的数据通信会变得异常繁琐和复杂。另外不同操作系统通信机制的不同也会影响通信软件的开发和效率,网络编程人员通常从底层进行开发,这大大增加了软件开发的难度和周期。针对以上存在的问题,ACE自适应通信构架给出了良好的解决方案,ACE能够跨越多种操作系统平台,可进行通用的网络编程任务,并结合软件设计模式,避免了通信软件根据不同环境需要重新开发的弱点,减少了软件开发的周期和资金,简化和强化了系统的设计实现。

     1 ACE框架

      ACE自适应通信环境(ADAPTIVE CommunicationEnvironment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分布式服务动态(重)配置、并发执行和同步等。ACE体系结构包括3个基本层次:操作系统适配层、C++包装层、框架组件层。操作系统适配层直接驻留在用C写成的本地OS API之上,将ACE中的其他层与OS API相关联的平台专有特性屏蔽开来。由于ACE操作适配层所提供的抽象,极大地增强了ACE的可移植性和可维护性。C++包装层通过提供类型安全的C++接口简化通信应用程序的开发,各种应用可以有选择地继承、聚合或实例化其中的组件来使用这些包装。ACE还包括一个高级的网络编程框架,集成并增强较低层次的C++包装层,该框架支持并发分布式服务动态配置。

      大多数的网络化应用可以通过ACE这样的可移植中间件进行开发,因为ACE封装并加强了本地操作系统机制,通过其组件可以移除底层操作系统API的繁琐和易错性创建可重用的网络程序。

      2 网络游戏服务器系统框架的设计

      在设计网络服务器的过程中,如何保证服务器的安全和最大限度地支持更多的客户端连接是摆在开发者面前一个重要的问题。为了解决这2大问题,根据经验,在开发游戏服务器的过程中,采用如下的服务器架构可有效解决上述2个问题。

      2.1 支持Gate的游戏服务器架构

      在该架构下,Client和Gate Server相连,而不是直接和Game Server相连。Gate Server主要负责转发客户端和Game Server之间的数据包,Game Server负责处理游戏的所有逻辑。如图1所示。

ic72新闻中心

      采用该架构,有如下几个优点:客户端通过Gate Setver和游戏服务器Game Servet相连,Game Server IP对外不可见,这样Game Server更安全、更不易受攻击。一个Game Server同样也可以对应若干个Gate Server,当某个Gate Server受攻击或停机后,其他的Gate Server仍然照常运行,和其他Gate Server相连的客户端仍然可正常进行游戏;可支持更多的客户端连接。Gate Server把众多的客户端连接分散到多个Game Server中去,而不是独自来承担,从而可支持更多的客户端连接;Gate Server可分担一部分安全管理工作,减轻Game Server的压力。例如若某个客户端在一段时间内不发数据包,则把该客户端踢下线的工作可由Gate Server来完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACE网络框架-文档资料.rar】压缩包含有如下内容: ================================================== 【ACE源码】目录: ACE+TAO+CIAO-6.0.0.tar.bz2 --------------------------------------------------------------------- 【ACE自适配通信环境文技术文档】目录: ACE自适配通信环境(代序).pdf ACE自适配通信环境文技术文档 [2002年12月版].chm 上篇:ACE技术论文集.pdf 篇:ACE程序员教程.pdf 下篇:ACE应用实例.pdf --------------------------------------------------------------------- 【C++网络编程全集】目录: C++ Network Programming, Volume 1:Mastering Complexity with ACE and Patterns.chm C++ Network Programming, Volume 1:Mastering Complexity with ACE and Patterns.pdf C++ Network Programming, Volume 2:Systematic Reuse with ACE and Frameworks.chm C++NP_v1-P193.ppt C++NP_v2-P298.ppt C++NP_v2-P383.ppt C++网络编程 卷1:运用ACE和模式消除复杂性-P328.pdf C++网络编程 卷2:基于ACE框架的系统化复用-P374.pdf --------------------------------------------------------------------- 【其它资料】目录: ACE-tutorial [英文版]-P306.pdf ACE-类继承关系.pdf ACE详细介绍-译文.pdf C++网络编程学习笔记(ACE).docx --------------------------------------------------------------------- ACE技术内幕:深入解析ACE架构设计与实现原理 [机械工业.2012年出版.带书签]-P333.pdf --------------------------------------------------------------------- ACE程序员指南:网络与系统编程的实用设计模式 [国电力.2005年出版.带书签]-P374.pdf ================================================= 附送视频学习资料:[看雪论坛独家免费共享]の轩辕IT培训 Linux C++ 远程全科班 Boost ACE[无KEY 完整版] 该视频是很好的网络框架学习资源,关于ACE框架的视频在Module6,还有Boost相关的讲解。 下载地址:https://pan.baidu.com/s/1kTDYnjD 【注:可能会失效,赶紧存入网盘】

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值