- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络引擎设计的思考
网络引擎设计的思考 1
一、 网络引擎的用途 1
二、 网络库 2
1、 网络库的层次 2
2、 辅助类集合 2
3、 工具类集合 2
三、数据库 3
四、应用实例库 3
1、休闲网游基本框架 3
2、各部分最小最必要的功能 4
五、 一般化的服务器和客户端设计 5
六、 具体化游戏服务器、客户端的开发 6
1、根据应用库已有的服务器、客户端进行实例化 6
2、根据网络库的服务器、客户端重新设计 7
七、 休闲游戏服务器的相关逻辑设计 7
1、 用户基本信息 7
2、 社交相关信息 7
3、 游戏服务器(GameServer)数据结构信息 7
4、 登录服务器(LoginServer)的逻辑设计 8
5、游戏服务器(GameServer)的逻辑设计 8
6、消息服务器(MessageServer)逻辑设计 9
7、服务器端需要载入的资源文件 10
八、 系统优化的考虑 10
网络引擎的用途
为了架设高效的C/S和P2P的网络结构的程序,快速开发分布式的服务器端程序以及客户端的网络传输部分,网络引擎提供了经过实践验证了的网络传输模块,服务器端管理客户端连接的模块(C/S),客户端之间通信模块(P2P),以及相应的所有实用的工具。网络引擎让开发者不需要考虑网络的结构和传输,而把更多的时间用来开发应用程序。开发者唯一要做的就是对现有的引擎进行配置,增加应用程序的逻辑部分。
考虑到网络游戏是这一引擎的主要应用对象,所以此文档所提到的分布式架构都是基于网络游戏的。
设计成三个类库:网络库、数据库和应用实例库。
网络库
网络库的层次
层次编号 具体说明 Net_Layer_1 实现最底层的inetaddress,socket,iocp,internet的包装类。 Net_Layer_2 实现Channel、Session、Context、FtpInternet、DispatchService这些最基本的利用Net_Layer_1进行数据传输的类。 Net_Layer_3 实现TcpService、IocpService、UdpService、FtpService这些构成服务器和客户端的最基本功能的服务类。 Net_Layer_4 实现Server和Client这两个最基本的服务器和客户端的程序架构。
辅助类集合
线程类 Thread 最基本的线程的实现 TcpThread Tcp接收和发送时进行通知,构成TcpService的重要部分 UdpThread Udp接收和发送时进行通知,构成UdpService的重要部分 IocpAcceptThread 管理IocpService接收连接 IocpAsyncIoThread 管理IocpService会话数据的传送和接收 DispatchThread 对接收到的数据进行分发处理的线程,在TcpService,UdpService,IocpService中都有用到 ScheduleThread 用于定时执行任务的线程 Monitor、synchronized 处理线程的同步
缓冲类 AdjustableBuffer 可变大小的buffer,用于接收和发送缓冲区 RotativeBuffer 循环buffer,用于接收和发送缓冲区
工具类集合
时间类 ScheduleService 定时执行任务的服务 Profiler 设置计时的时刻,计算时间的流逝
日志类 Log 日志格式化输出 Viewer、WindowViewer、ConsoleViewer 日志显示
配置类 Properties、Loader、FileLoader、StringTokenizer 通过配置文件配置参数 RegEditor 操作注册表 ResourceInterface 通过资源文件载入不同语言的文字
文件类 Directory 搜索文件和文件夹 FileFactory 搜集文件的信息 系统类 System 搜集系统信息 GlobalUnqiueId 生成全局唯一标示码 AuthCrypt 加密解密数据包
三、数据库
对数据库访问的操作进行封装
ODBC基本架构 MYSQL基本架构
四、应用实例库
这一层是应用层,继承Net_Layer_4的类和数据库的类来实现具体的应用程序。根据网络游戏基本的架构提供网游服务器和客户端的最基本程序架构。
1、休闲网游基本框架
休闲网络游戏服务器基本架构 MonitorServer 监视所有的服务器,定时收集信息 PatchServer 提供客户端版本号检测以及对客户端进行更新 LoginServer 检测登录信息是否
文档评论(0)