socket难点与解决方案提议

最近公司说要重做聊天模块,之前是用的http轮询。。。然后在讨论用什么框架的时候,老大说,咱自己写。。恩。。自己写。。。自己写。。。。自己写。。。。

先理了下思路,感觉重点有下面几个

  1. 长连接的维护
    1.1 手机低电量进程被杀
    1.2 手机深度休眠被杀
    1.3 内存占用过大被杀
  2. 断网重连
  3. 账号重复登录

综上,

  1. 需要一个心跳检测,一段时间没反应(断开连接)就要重新连接,这时候要考虑socket对象复用、和重复的问题
  2. 手机网络中断的时候,心跳需要关闭,当网络重启时继续心跳
  3. 收到数据时做确认回馈,服务端没有收到回馈时重新发包(检测数据丢失问题)

但是,以第一点问题来说,socket本身的长连接可以通过心跳包检测重连,但是socket所在进程被杀却没有办法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容