leancloud / realtime-SDK-dotNET

LeanCloud Instants Messaging SDK for Portable & Unity & .NET Core written by c#
Apache License 2.0
13 stars 9 forks source link

重构心跳机制 #179

Open onerain88 opened 5 years ago

onerain88 commented 5 years ago

现状

在长连接建立完成,open session 之后再开启心跳,导致 open session 请求 pending 下,没有心跳检测,并执行「网络断开」

修改方案

  1. 在长连接建立之后,则开启心跳保活和检测网络连通性
  2. 创建 IM Client 时,从全局获取长连接对象,如果没有则建立连接;有则复用
  3. IM Client 监听连接状态(断开,重连中,重连成功),并反馈给开发者