断线重连问题综述

断线重连主要涉及到几个问题:

  1. 判定断线
  1. 怎么重连
  2. 重连后如何还原游戏环境

判定断线有两种方式,(1)是超时判定断线,定时发送心跳包等待回应,如果一个心跳包超过10s没有收到回应,则认为超时断线。网络延迟高、wifi切4g会导致超时。4g切wifi不会断开连接,是因为4g切了wifi后游戏还在保持用4g通讯(2)被动触发断线是指网络库catch到网络断开消息。服务器重启、程序切后台锁屏、某些本地网络断开行为(比如拔网线)都会导致被动触发断线。

怎么重连指的是客户端需要不断尝试连接服务器(我们是10s一次)。假如只是在没有网络或网络很弱的情况发起一次重新连接,可能这次连接是不成功的,并且在网络恢复时也不会连接上服务器。另外,要注意的是,在发起新的一次重新连接时,要把以往的连接主动close销毁掉,否则可能出现以往的重连在经过长时间后连接成功,同时出现了多个连接。

重连后如何还原游戏环境这个在另外一篇文章《状态同步的断线重连》中,有详细表述

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容