Leaf-Server官方教程: Hello Leaf

Posted Kaitiren

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leaf-Server官方教程: Hello Leaf 相关的知识,希望对你有一定的参考价值。

现在,在 LeafServer 的基础上,我们来看看游戏服务器如何接收和处理网络消息。

首先定义一个 JSON 格式的消息(protobuf 类似)。打开 LeafServer msg/msg.go 文件可以看到如下代码:

package msg

import (
"github.com/name5566/leaf/network"
)

var Processor network.Processor

func init() {

}

Processor 为消息的处理器(可由用户自定义),这里我们使用 Leaf 默认提供的 JSON 消息处理器并尝试添加一个名字为 Hello 的消息:

package msg

import (
"github.com/name5566/leaf/network/json"
)

// 使用默认的 JSON 消息处理器(默认还提供了 protobuf 消息处理器)
var Processor = json.NewProcessor()

func init() {
// 这里我们注册了一个 JSON 消息 Hello
Processor.Register(&Hello{})
}

// 一个结构体定义了一个 JSON 消息的格式
// 消息名为 Hello
type Hello struct {
Name string
}

客户端发送到游戏服务器的消息需要通过 gate 模块路由,简而言之,gate 模块决定了某个消息具体交给内部的哪个模块来处理。这里,我们将 Hello 消息路由到 game 模块中。打开 LeafServer gate/router.go,敲入如下代码:


                

以上是关于Leaf-Server官方教程: Hello Leaf 的主要内容,如果未能解决你的问题,请参考以下文章

Leaf-Server官方教程: Leaf ChanRPC

Leaf-Server官方教程: Leaf ChanRPC

Leaf-Server官方教程:Leaf安装搭建与模块运行

Leaf-Server官方教程:Leaf安装搭建与模块运行

Leaf-Server官方教程: Leaf Go

Leaf-Server官方教程: Leaf 服务器的设计