解决了一个偶发无法登录的问题 #1386
Replies: 6 comments · 9 replies
-
知道具体是什么原因吗 |
Beta Was this translation helpful? Give feedback.
-
谢谢分享 |
Beta Was this translation helpful? Give feedback.
-
您好!您所发的邮件已收到,谢谢!
|
Beta Was this translation helpful? Give feedback.
-
onBaseappInitProgress属于内部消息,好像是引擎内部自动生成。改的话判断一下是否是内部通道就行了。
少年。
***@***.***
…------------------ 原始邮件 ------------------
发件人: "kbengine/kbengine" ***@***.***>;
发送时间: 2024年11月11日(星期一) 下午3:38
***@***.***>;
***@***.******@***.***>;
主题: Re: [kbengine/kbengine] 解决了一个偶发无法登录的问题 (Discussion #1386)
onBaseappInitProgress的msgID都是24
你说的这个onBaseappInitProgress的msgID是24,是在那个代码看到的?我只找到Baseapp_logoutBaseapp的msgID 实在插件端定义的。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
2.5.12版本不太清楚,你可以看下Loginapp::onBaseappInitProgress这个函数内部有没有关于pChannel->isExternal()的代码。这个问题,触发是在前端,还是需要关心一下的。如何要彻底解决的话还是比较麻烦的,我看了kbe是有对于channel的调用权限做分类和限制,但是不知道为什么没有启用。
少年。
***@***.***
…------------------ 原始邮件 ------------------
发件人: "kbengine/kbengine" ***@***.***>;
发送时间: 2024年11月13日(星期三) 下午2:26
***@***.***>;
***@***.******@***.***>;
主题: Re: [kbengine/kbengine] 解决了一个偶发无法登录的问题 (Discussion #1386)
谢谢,就是看到你说他的消息ID也是24导致了冲突, 所以想求证下我当前下载的2.5.12是否也存在。我也遇到过一次类似的情况,但是没有追究他。 这问题如果要解决, 用题主的 不允许progress变小,应该就可以解决,但是最好的方法还是解决冲突的地方。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
想找一款成熟的手游产品源码过来我们深度二次开发(全新换套美术,代码也都从新货混淆及优化整一遍)。意向最好是重度的mmo、arpg、角色扮演或动作手游,其他类型的游戏也可以,必须是高品质大厂近5年内做的产品,国内厂商或国外厂商开发的都可以,产品不能在国内运营过的。可以在国外运营过或运行中。准备了足够夸张的米给到你。如朋友那边有可以给推荐一下有米,不墨迹,鹅浩809996677。 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
项目上线一段时间后,突然出现loginapp无法再提供登录服务的问题。
分析后发现loginapp没有崩溃,而是initProgress_被设成了0,导致所有的登录请求都会被拒绝并返回SERVER_ERR_SRV_STARTING。后来跟踪代码,发现是由客户端发出的消息,被处理成调用Loginapp::onBaseappInitProgress后,把initProgress_置为0导致的。于是在Loginapp::onBaseappInitProgress中加入禁止把initProgress_改小的代码后让问题暂时解决。
后来分析发现这个客户端应该是正常操作,因为之前录到过很多该客户端正常登录的日志,在loginapp启动过程中,该客户端每隔几秒钟就一直向loginapp发hello请求。只是突然最后一次的请求,服务器并没有处理成调用hello而是调用了onBaseappInitProgress。如果从安全性的角度出发,先不考虑loginapp为何收到了错误的数据包,如果在收到了错误的数据包后,有什么措施可以保证不发生此类灾难性的调用?比如能否在消息处理层,增加权限的管理,有些消息只允许在集群内发送?
Beta Was this translation helpful? Give feedback.
All reactions