查看: 202|回复: 1

棋牌游戏服务器架构: 总体设计(4)

[复制链接]

10

主题

44

帖子

271

积分

vip会员

Rank: 1

积分
271
发表于 2020-3-27 15:43:40 | 显示全部楼层 |阅读模式
4 交互协议

      客户端和服务器进行交互时,传递的包需要使用protobuf来序列化。一个请求由一个container组成,container中可以包含一个或者多个请求包/应答包。每一个请求包和应答包都有如下基本结构:

图6 服务器和客户端通信的Package结构

nMainCmd 指示请求的类别,比如说游戏请求,房间管理请求等

nSubCmd  指请求的具体是什么,比如加注、踢出玩家等

nDataSize  指示pData字段的长度

pData     可以是任何消息,如果是一个结构,需要用protobuf序列化

5 数据库
Database主要有3个: ServerInfoDB、UserInfoDB, GameDB。

ServerInfoDB: 主要存储的是游戏列表的信息。这些信息包括—游戏种类列表、游戏类型列表和站点信息。

UserInfoDB: 主要存储玩家相关的全局信息,包括玩家的 ID 号码,帐户名字,密码,二级密码,头像,经验数值,登陆次数,注册地址,最后登陆地址等玩家属性信息。

GameDB:  主要存储的是玩家的游戏相关信息,例如游戏积分,胜局,和局,逃局,登陆时间等信息

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部