Closed wangyongzhe1993 closed 3 days ago
大佬们,我想在对外服websocket鉴权完成时,请求所有game逻辑服进行负载均衡,给当前连接绑定一个game逻辑服。 我发现对外服没有对外暴露brokerclient的相关方法访问. 想问下是我的这种想法思路不对,还是要在启动对外服的同时在开启一个逻辑服才可以请求其他逻辑服 自己实现了功能,但是修改了源码暴露了DefaultExternalServer.setting,但是觉得太不优雅了
DefaultExternalServer externalServer = ExternalServerApplication.EXTERNAL_SERVER; InvokeModuleContext invokeModuleContext = externalServer.setting.getBrokerClient().getInvokeModuleContext(); ResponseCollectMessage responseCollectMessage = invokeModuleContext.invokeModuleCollectMessage(cmdInfo); List<ResponseCollectItemMessage> messageList = responseCollectMessage.getMessageList(); for (ResponseCollectItemMessage responseCollectItemMessage : messageList) { IntValue data = responseCollectItemMessage.getData(IntValue.class); LogUtil.infoLogger.warn("playerNum:" + data.value); }
ws token 鉴权、校验建议只做简单的验证,之后统一在游戏逻辑服的 action 中做处理。
因为 webSocket token 相关验证只在 ws 连接方式下存在,而 tcp 、udp 这些连接方式是不需要这些概念的。如果把太多业务放到 verify 中,之后如果想将 ws 连接方式切换到 tcp 时,你的系统并不能得到很好的兼容。
明白了,感谢回复
大佬们,我想在对外服websocket鉴权完成时,请求所有game逻辑服进行负载均衡,给当前连接绑定一个game逻辑服。 我发现对外服没有对外暴露brokerclient的相关方法访问. 想问下是我的这种想法思路不对,还是要在启动对外服的同时在开启一个逻辑服才可以请求其他逻辑服 自己实现了功能,但是修改了源码暴露了DefaultExternalServer.setting,但是觉得太不优雅了