6603棋牌源码 完整,棋牌游戏服务器架构:h5三公棋牌平台出租 详细设计(二) 应用层设计

    这里的应用层是指中央服务器、登录服务器、LogServer、RoomServer等H5三个公共国际象棋平台租赁三个公共国际象棋平台租赁服务器,此外还有游戏模块设计。无论如何,游戏模块和前4个服务器的设计完全不同。让我们从服务器应用程序的详细设计开始。
    上述四个服务器都需要响应来自客户机的数据库操作请求(在这种情况下,客户机意味着通用的),并且能够配置和显示系统运行的状态信息。MVC模式将用于组织应用层逻辑。
    
    图1应用层的基本结构
    IController从ITCP Service Observer继承并与ITCP Server Service进行交互,因此如果需要数据操作,IController需要解析来自客户端的请求,并将其转发到IModel进行处理。
    IMODEL继承了DbService E观察器,并通过IDATABASEService提供的服务完成了获取和存储数据的一些工作。
    IView实现了IObserver接口,主要用于显示IController和IModel的一些状态信息和其他消息。
    应用程序中的内部服务器根据其任务简单地实现ICONTRORBER、IMODEL和IVIEW。
    1CenterServer详细设计CenterServer的主要功能是维护游戏列表和房间信息,游戏列表是从ServerInfoDB中加载的,下面是一个简单的结构图。
    
    
    图2中心服务器维护的信息结构
    因为已经详细描述了应用层体系结构,所以这里只是IModel实现的列表,IController实现是解析请求。可以使用ServerList删除游戏列表信息和房间信息。或者向ServerList添加空间,删除房间,以及让服务器列表更新在线人数。
    CCENTER服务器在处理请求时生成的输出信息将使IVIEW输出显示。
    2登录服务器详细设计
    图3登录服务器结构图
    IController的实现有以下几个方面的任务:LogonController:
    1)将登记请求转发到LogonHandler进行处理。
    2)将登录请求转发到LogoNhanter进行处理。
    3)使用CenterSocket定期向CenterServer发送请求,并将游戏列表和房间信息存储在ServerList中。
    IMODEL在实现LogonHandler中的主要功能是注册用户和验证登录。
    CnSoCult用于向CestServer发送请求。
    ServList在CCELL服务器中保存与Server列表相同的数据,但其实现不同。它持有从CCENT服务器检索的Logon控制器的相同数据。
    3 LogServer中LogServer的详细设计比较简单,其结构图如下。
    
    图4 LogServer结构图
    LogServer继承了ICONTRONTROLL,它接收来自玩家的请求来验证游戏进程并将它们转发给RoSQL来进行处理。处理后,将结果返回给播放器。
    LogFET实现了imoDel.它的任务很简单,就是去数据库获取游戏过程的日志。
    房间服务器是最重要的服务器类型,它响应大多数玩家的动作。该结构如图5所示。
    
    图5 ROM服务器结构图
    用户管理器从IModel继承并管理在线播放器。当RoomController收到玩家进入房间的请求时,它根据玩家的用户名和密码从UserInfoDB加载玩家的详细信息,并生成一个UserItem来加入在线队列。
    ROMMODER实现了ICONTRORMLE接口,主要有以下功能:
    1)提交请求进入房间并处理用户经理。
    2)在启动时向CenterServer注册,关闭时注销,并且定期通过CenterSocket从CenterServer检索游戏列表和房间信息(由于空间问题,该图不绘制,几乎与LogonServer相同)。
    3)将游戏相关请求转移到TabelGr处理。
    4)进程聊天和管理请求。
    TableMgr管理这个房间的桌子。桌子是处理公共象棋游戏逻辑的地方。它主要包括找椅子、坐下和离开。特定的游戏命令,如德州扑克将逐个桌子转发给GameModule。结果由RoomContro返回给玩家。勒勒
    5游戏模块的详细设计。本文以德州扑克为例,说明游戏的逻辑结构。
    
    
    图6德州扑克游戏的模块结构
    虽然德州扑克的结构在这里给出,其他游戏也有相似的结构。
    每个游戏模块都必须实现两个界面的ItabelValor,游戏的主要逻辑放在这里,因为表将是玩家在转移后的操作信息,所以这里是处理洗牌、处理、玩家下注处理的最佳场所。应该实现的是IGameService Mgr,它是游戏模块向表公开的工厂接口,通过该表可以创建TexasPokerTableObserver。
    IGameServiceMgr的方法如下:
    1)CreateTableObserver创建游戏逻辑处理的实现,该实现创建并返回TexasPokerTableObserver。
    2)GetGameAttrib返回游戏的属性,包括:游戏名称、游戏描述、游戏模块名称、客户端模块名称、游戏数据库名称等。
    3)RectifyRoomOption因为有些游戏有特殊的房间要求,RoomServer需要调用这个接口来调整一些房间设置
    4)创建机器人,机器人的角色相当于真正的机器人。
    德克萨斯扑克规则主要封装了德克萨斯扑克的一些基本规则,如果你选择最大的卡,比较卡的大小,洗牌,找到赢家等。

猜你喜欢

转载自www.cnblogs.com/h5qipaiyuanma/p/9780368.html