我学xingo golang服务器之-xingo_demo server.go start

前端之家收集整理的这篇文章主要介绍了我学xingo golang服务器之-xingo_demo server.go start前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

启动服务器:
go run server.go

我学xingo golang服务器之-xingo_demo server.go start
上三节分别讲解学习了,xingo服务器和客户端的协议处理,包括协议的生成,协议的解析和发送,最后又学习了xingo_demo_unity3d部分的同屏玩家的AI逻辑处理过程;
(例子里面的相对比较简单,如果有怪物,战斗AI过程就比较复杂了可以参考:http://www.jb51.cc/article/p-zzavllyq-bgz.html

下面我们学习xingo_demo的server启动过程:
我把说明写在了代码里面,看起来更加清楚一些

func main() {
    //**第一步**:
    //从xingo框架哪边获取接口,新建一个tcp服务器
    s := xingo.NewXingoTcpServer()

    //**第二步**:
    //客户端请求的api_x,x=数字,手动添加进去,
    /*在开发中会有多个不同类型的aip_xxx的Router,所以采用了手动添加*/
    TestRouterObj := &api.TestRouter{}
    s.AddRouter(TestRouterObj)
    //add api ---------------end

    //**第三步**:
    //regest callback
    //注册客户端 连接和断开连接的监听事件
    utils.GlobalObject.OnConnectioned = DoConnectionMade
    utils.GlobalObject.OnClosed = DoConnectionLost

    //**第四步**:
    //正式启动服务器
    s.Serve()
}

这里的第四步: s.Serve() 就是启动服务器:

//启动函数
func (this *Server) Serve() { this.Start() this.WaitSignal() }

现在分解一下服务器的启动过程:

可以看到xingo_demo用的是Tcp服务,s.Serve()启动;

下一节我们看看xingo的初始化过程

原文链接:https://www.f2er.com/go/188241.html

猜你在找的Go相关文章