是否有通用的方式让客户端感知到这种情况?
可以通过 UserSession#employ 来返回响应吗?
// package: package com.iohao.game.bolt.broker.client.external.processor;
// file: ResponseMessageExternalProcessor.java
message.setResponseStatus(ActionErrorEnum.verifyIdentity.getCode());
message.setValidMsg(e.getMessage());
// 此处 userSession 是 UserSession#employ
Channel channel = userSession.getChannel();
channel.writeAndFlush(message);
你是说,在玩家没有登录时,请求业务方法时,给玩家对应的客户端响应一些信息吗?
可以通过 UserSession#employ 来返回响应吗?
这句没太理解
在玩家没有登录时,请求业务方法时,给玩家对应的客户端响应一些信息吗?
对,是这个意思。
我看源码中在 ExternalGlobalConfig.verifyIdentity = false 的时候,会从 String channelId = headMetadata.getExtJsonField() 获取一个 channelId,再 userSession = UserSessions.me().getUserSession(new UserChannelId(channelId)) 拿到 userSession。
是否可以通过这种方式把 message 响应给客户端
好像是提供了一个这样的错误码
ActionErrorEnum.verifyIdentity
默认的满足不了吗,还是说有其他的什么情况
OK, 我明白了,是游戏服务器一点响应都没有;
默认返回
ActionErrorEnum.verifyIdentity
这个可以吗。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
可以了, pull 一波。
OKOK,就是这个意思。可以了,大佬
哈哈,我自己也是这么处理的。就是不太明白是不是应该用 headMetadata 里的 UserSessions.me().getUserSession(new UserChannelId(channelId)); 这个 channel 返回
赞一下你提的 Issues ,提问清晰
现在验证相关的有些小变动
参考
https://gitee.com/iohao/iogame/issues/I5J7HG
登录 后才可以发表评论