网关注册出错
发布于 2 个月前 作者 killalarm 223 次浏览 来自 问答

程序 分多网关。此多网关为不同类型网关,并非多网关部署,分别为登陆网关 角色网关和游戏网关 都在同一个项目下 ,使用自己的协议处理封包,但每次在运行的时候都会报错 2018-10-03T23:59:28+08:00 [-] [-] [development] [I] [app.go:143] mqant 1.8.0 starting up 2018-10-03T23:59:54+08:00 [-] [-] [development] [W] [mqtt_gate.go:173] Adding session structures failed to serialize interfaces The name(gate) has been occupied github.com/liangdas/mqant/gate/base/mqtt_gate.go:173 github.com/liangdas/mqant/app/app.go:153 mqanthello/main.go:19 runtime/proc.go:195 这个报错

for i := 0; i < len(mods); i++ { mods[i].OnAppConfigurationLoaded(app) manager.Register(mods[i]) } 这里是 app。go 153行执行的地方 。这个好像是代码bug。不可以在程序里注册多个网关模块导致的 app.Run(true, mgate.Module(), //这是默认网关模块,是必须的支持 TCP,websocket,MQTT协议 sgate.Module(), rgate.Module(), loginsrv.Module(), selsrv.Module(), usrenge.Module(), dbserver.Module(), mapmanage.Module(), mysessions.Module(), ) main。go 里 前三个module 是不同类型网关 第一个 正常 sgate rgate 就报错了

5 回复

gate网关里面会注册 session 自定义结构,多个网关类型不一样的话没必要用gate,自己定义自己的网关模块就行

如果不做gate 怎么做网络连接呢

网络连接网关没必要做多种类型的,你设计估计就有问题

我是把一个成熟的项目 尝试修改成老大的框架里 这也是很普遍的操作 希望老大能留意这个bug 改进一下

2018-10-03T23:59:54+08:00 [-] [-] [development] [W] [mqtt_gate.go:173] Adding session structures failed to serialize interfaces The name(gate) has been occupied 这个其实也不是问题,就是多个网关都去注册了一下,注册失败也不影响功能,成功一次就好

回到顶部