微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我学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.jb51.cc/go/188241.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐