社区leaf学习笔记|05. 游戏玩家注册、登陆(上)

Leaf游戏框架--玩家登陆协议定义

首先 我们需要增加玩家注册、登陆的协议,消息结构定义在server\msg\msg.go中,但是为了便于查找建议单独建立文件 例如 如下图 建立目录:server\msg\protocolfile\protocol.go

protocol.go 内容

package Protocol
// 用户登陆协议
type UserLogin struct {
   LoginName string // 用户名
   LoginPW   string // 密码
}
// 注册协议
type UserRegister struct {
   LoginName string // 用户名
   LoginPW   string // 密码
   // Mobi      string // 手机号
   // Email      string // 邮箱
}
// 玩家的临时结构
// 玩家有角色的情况
type UserST struct {
   UID      string // 账号ID
   ServerID string // 服务器ID
   RoleUID  string // 角色UID
   RoleName string // 角色名字
   RoleLev  string // 角色等级
   Coin     string // 金币
   // 其他的暂时不做定义
}

登陆路由配置

路由配置方式请参照前几节文章,本节及后面只是概括
路径:server\gate\router.go

router.go :

package gate
import (
   _ "server/game"
   "server/login"
   "server/msg"
   "server/msg/protocolfile"
)
func init() {
   msg.Processor.SetRouter(&Protocol.UserLogin{}, login.ChanRPC)
}

注册消息
路径:server\msg\msg.go
msg.go:

package msg
import (
   "server/msg/protocolfile"
   "github.com/name5566/leaf/network"
   "github.com/name5566/leaf/network/json"
)
var Processorbak network.Processor
// 使用默认的 JSON 消息处理器(默认还提供了 protobuf 消息处理器)
var Processor = json.NewProcessor()
func init() {
   // 这里我们注册了一个 JSON 消息 Test
   Processor.Register(&Protocol.UserLogin{})
}

以上配置完成后,消息注册及路由配置就OK了,总结下 如下:
1 msg.go      消息注册使用
2 protocol.go 消息定义


上一篇:Leaf-Server官方教程: Leaf ChanRPC (四)


下一篇:数据中心硬件架构拆解分析