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

默认
发表评论 5
IM系统开发中,在线消息推送失败后一般怎么处理?
请教大佬们:发送端消息落地成功后,服务端检测到对端在线,于是进行推送,但是由于网络状况不太好等各种原因,导致消息不等到达或没有收到对端的ACK,这种情况一般怎么处理,业界一般都有哪些手段或方式?谢谢!

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

上一篇:公司IM后台离线消息采用扩散写,导致redis内存爆掉,不合理,求指点下一篇:IM开发干货分享:有赞移动端IM的组件化SDK架构设计实践

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

想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
推荐方案
评论 5
有一个原则:只要对方没有实时收到的(不管是什么网络还是应用崩掉等原因),就应该做离线处理。

这样就能保证消息永远处理两种明确的状态:已收到(实时)和未收到(离线),而不至于让消息处于黑洞状态(也就是到底有没有收到,完全不知道,反正就是不见了)。聊天最怕出现消息黑洞,严重影响体验。
签名: 车子保养1次花1200多,是不是太贵了点
非常感谢
签名: very good

嗯呢
签名: 车子保养1次花1200多,是不是太贵了点
失败可以走离线推送
看到有的实现是重发几次还失败后,断开链接,让客户端重连拉取到前面推送失败的实时消息。不知道哪样比较好。
签名: very good
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部