欢迎来到天天文库
浏览记录
ID:28122017
大小:114.50 KB
页数:11页
时间:2018-12-08
《网络棋牌游戏服务器详细架构说明.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、网络棋牌游戏服务器详细架构说明 一、物理架构说明 游戏系统组件包括:○ 服务器系统(中心服务器的控制系统,服务器登陆控制的系统,游戏登陆服务器,游戏房间控制的系统,游戏组件系统),游戏客户端(游戏大厅,游戏组件)。○ 数据库系统:用于保存用户的信息数据、游戏积分数据、游戏系统运行状态的数据以及系统日志数据等数据。○ 中心服务器的控制系统:用于向客户端提供全局配置及初始化数据使用。○ 服务器登陆的控制系统:用于房间服务控制系统的登陆效验使用。○ 游戏房间的控制系统:用于控制游戏房间的启动,停止,添加,删除,管理等等。○ 游戏组件系统:用于具体游戏服务,被游戏房间控制系统挂接,提供游戏
2、服务。○ 游戏大厅:游戏玩家连接游戏使用。 网络棋牌游戏服务器详细架构说明 一、物理架构说明 游戏系统组件包括:○ 服务器系统(中心服务器的控制系统,服务器登陆控制的系统,游戏登陆服务器,游戏房间控制的系统,游戏组件系统),游戏客户端(游戏大厅,游戏组件)。○ 数据库系统:用于保存用户的信息数据、游戏积分数据、游戏系统运行状态的数据以及系统日志数据等数据。○ 中心服务器的控制系统:用于向客户端提供全局配置及初始化数据使用。○ 服务器登陆的控制系统:用于房间服务控制系统的登陆效验使用。○ 游戏房间的控制系统:用于控制游戏房间的启动,停止,添加,删除,管理等等。○ 游戏组件系统:用于
3、具体游戏服务,被游戏房间控制系统挂接,提供游戏服务。○ 游戏大厅:游戏玩家连接游戏使用。 网络棋牌游戏服务器详细架构说明 一、物理架构说明 游戏系统组件包括:○ 服务器系统(中心服务器的控制系统,服务器登陆控制的系统,游戏登陆服务器,游戏房间控制的系统,游戏组件系统),游戏客户端(游戏大厅,游戏组件)。○ 数据库系统:用于保存用户的信息数据、游戏积分数据、游戏系统运行状态的数据以及系统日志数据等数据。○ 中心服务器的控制系统:用于向客户端提供全局配置及初始化数据使用。○ 服务器登陆的控制系统:用于房间服务控制系统的登陆效验使用。○ 游戏房间的控制系统:用于控制游戏房间的启动,停止
4、,添加,删除,管理等等。○ 游戏组件系统:用于具体游戏服务,被游戏房间控制系统挂接,提供游戏服务。○ 游戏大厅:游戏玩家连接游戏使用。 二、系统结构 系统所选用的开发工具是优秀的MicrosoftVisualC++.net2003,系统是采用了客户端/服务器(C/S)编程模式,TCP/IP协议作为客户端与服务器的通信网络层,运用了具有性能最优的完成端口(IOCP:Input/OutputCompletionPort)网络开发模型以搭建服务器软件,客户端采用WinSocketAPI作为网络层。 系统采用了多服务器分布式的架构,由一个中心服务器CENTERSERVER和多个主服务
5、器MainServer以及多个从服务器(LocalServer)同时工作以实现游戏逻辑和用户管理及通讯的功能。中心服务器向客户端提供全局配置,初始化数据(主要是定位一个主服务器IP地址),主服务器管理客户端用户身份验证、登录以及管理从服务器的建立,由多个从服务器管理游戏通信,大厅及房间,从服务器可任意添加、删除、修改等。 系统首先启动中心服务器(CENTERSERVER),中心服务器从INI文件中读取MainServer列表信息,客户端提供全局配置,初始化数据,然后等待客户联结,客户联结后CENTERSERVER定位一个MainServer的IP地址和端口号,发往客户端,客户端收到后
6、断开CENTERSERVER的联接,并马上用MainServer的IP地址和端口号,和主服务器(MainServer)连接.主服务器从数据库中读取从服务器的所有信息到主服务器的内存。首先读取ComType表以建立所有的游戏类型的基本信息,然后读取ServiceInfo(界面树结点信息表)以获得包括客户端界面结构、从服务器的信息、大厅和房间的一切信息。当有客户端请求登录并成功和主服务器连接的时候,主服务器将这所有的信息一次性发到客户端内存,客户端根据这些信息生成界面结构树。 主服务器启动后还可以在主服务器里创建多个从服务器及房间,创建完成后从服务器的IP地址及端口号就作为它的唯一标识被
7、同时写进数据库和主服务器的内存;房间号、房间所属的游戏类型、所属的从服务器号也作为房间的唯一标识被同时写进数据库和主服务器的内存。 从服务器创建以后就在它所属的机器上启动。 客户端登录后首先和主服务器建立连接(并且一直到客户端退出才断开)连接成功后生成界面结构树(前述),当用户点击某个游戏房间的时候系统从内存中读出这个房间的所有信息(前述),根据房间所属从服务器的IP地址及端口号试图和这个从服务器建立连接,连接成功后相应的从服务器就将这个房
此文档下载收益归作者所有