4 交互协议 客户端和服务器进行交互时,传递的包需要使用protobuf来序列化。一个请求由一个container组成,container中可以包含一个或者多个请求包/应答包。每一个请求包和应答包都有如下基本结构: 图6 服务器和客户端通信的Package结构 nMainCmd 指示请求的类别,比如说游戏请求,房间管理请求等 nSubCmd 指请求的具体是什么,比如加注、踢出玩家等 nDataSize 指示pData字段的长度 pData 可以是任何消息,如果是一个结构,需要用protobuf序列化 5 数据库
Database主要有3个: ServerInfoDB、UserInfoDB, GameDB。
ServerInfoDB: 主要存储的是游戏列表的信息。这些信息包括—游戏种类列表、游戏类型列表和站点信息。
UserInfoDB: 主要存储玩家相关的全局信息,包括玩家的 ID 号码,帐户名字,密码,二级密码,头像,经验数值,登陆次数,注册地址,最后登陆地址等玩家属性信息。
GameDB: 主要存储的是玩家的游戏相关信息,例如游戏积分,胜局,和局,逃局,登陆时间等信息
|