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

默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK实现的多端消息同步时,离线消息怎么处理好?
前提:项目中支持多端在线(PC,Android等)。 有这样的场景,A用户一个客户端在线,B用户PC和Andorid都在线,假如A给B发送一条消息,服务端在处理C2C消息时,转发给B用户PC端的成功了,但是转发给B用户的Android端失败了,这种情况下,MobileIMSDK会走离线处理的回调。按道理来说,这种情况应该不需要保存离线消息吧,因为已经有一个端接收到了消息。 想请问一下 MobileIMSDK改怎么处理这种情况呢

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

上一篇:[已解决] 求助MobileIMSDK Java客户端Demo在JDK17上启动报错下一篇:[已回复] 请问MobileIMSDK同时支持TCP、UDP两种协议,该怎么理解?

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

推荐方案
评论 3
如果真是要做到微信那种严格的多端同步,你说的这条消息应该被存为离线,下次B的其它端上线时,根据自已本地最后一条消息的时间戳来增量拉取。

其实还有个比较极端的思路,就是多端情况下,不管离线不离线,服务端会把所有消息记录存在服务端,当B用户的任何端上线时,根据自已的最后时间戳去增量拉取,这种方案,服务端的消息存储逻辑很简单,或就是客户端需要做好去重等判断。

具体你可以根据你产品定义的实际情况来综合考虑实现,这方面也没有什么标准
签名: 《阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践》http://www.52im.net/thread-3726-1-1.html
引用:JackJiang 发表于 2021-10-13 18:30
如果真是要做到微信那种严格的多端同步,你说的这条消息应该被存为离线,下次B的其它端上线时,根据自已本 ...

是的,系统里面我们已经保存了所有的聊天记录。现在我遇到的问题是,使用MobileIMSDK的时候,得设计一种方案,A发送消息给B的两个端时,怎么将这两个端的回调整合到一起。 大佬有什么思路吗,我看MobileIMSDK的都是一对一的回调。
snipaste_20211013_185118.jpg
引用:jimi渐渐 发表于 2021-10-13 18:52
是的,系统里面我们已经保存了所有的聊天记录。现在我遇到的问题是,使用MobileIMSDK的时候,得设计一种 ...

你思路不对,这个回调肯定是单独处理,因为每个端都是独立个体
签名: 《阿里IM技术分享(五):闲鱼亿级IM消息系统的及时性优化实践》http://www.52im.net/thread-3726-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部