请选择 进入手机版 | 继续访问电脑版

默认
发表评论 2
IM心跳检测时间间隔之间会丢消息怎么处理?
问题描述:
比如我客户端与服务端心跳时间是10秒,轮回检测心跳时间是5秒。

存在客户端A和B,连上服务端后,都形成心跳机制。此时收发信息正常。

如果我A客户端操作关闭网络(注意不是关闭socket服务),那么服务端需要通过心跳机制检测A客户端的离线状态。在检测这段时间,服务端看到A是在线的,此时B发送消息,A接收不到,并且也没有保存离线消息(因服务端看到A是在线的),这样会导致消息的丢失,此时如何处理呢?

注:我服务端采用的是swoole

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:现代IM系统中聊天消息的同步和存储方案探讨

本帖已收录至以下技术专辑

推荐方案
评论 2
这就需要消息答答机制了。
你看看这篇文章《IM消息送达保证机制实现(一):保证在线实时消息的可靠投递》,理解了就能解决你的疑问。
签名: 《 WebSocket详解(六):刨根问底WebSocket与Socket的关系》http://www.52im.net/thread-1273-1-1.html
引用:JackJiang 发表于 2017-12-05 17:22
这就需要消息答答机制了。
你看看这篇文章《IM消息送达保证机制实现(一):保证在线实时消息的可靠投递》, ...

好的,谢谢
签名: 首次注册
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

Processed in 0.125001 second(s), 36 queries , Gzip On.

返回顶部