Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

3..6.8 登出流程的代码完善 #22

Open
MaoningGuan opened this issue Oct 6, 2022 · 1 comment
Open

3..6.8 登出流程的代码完善 #22

MaoningGuan opened this issue Oct 6, 2022 · 1 comment

Comments

@MaoningGuan
Copy link

image
这里加多一句代码,防止玩家还没完成登录时,agentmgr没有回复仲裁,而导致s.resp.kick没被调用,从而没有清空conns[fd]

@luopeiyu
Copy link
Owner

luopeiyu commented Oct 9, 2022

其实直接清空conns[fd]也还不太完善,因为在“还没完成登录时下线”的情况下,除了gateway,agentmgr也可能会记录一些玩家信息,这些信息不会被清除。

在3.15“改进”中,也提及了下这种情况,或可以在gateway中记录断线的连接,待走完登录流程再定时发起下线流程。

登录流程的一种意外情况:尽管登录流程已相对完善,但还存在一种意外情况。当客户端发起登录协议后,在登录协议返回之前下线。由于此时agentmgr记录的是“登录中”状态,下线请求不会被执行,除非再次登录踢下线,否则agent会一直存在。这种情况不常出现,解决方法是让gateway和agent之间偶尔发送心跳协议,若检测到客户端连接已断开,则请求下线。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants