默认
发表评论 6
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
你说的这种情况,确实有可能存在。

你可以在客户端加一个标记,就是当离线消息加载未完成的情况下,实时消息可以先放入一个缓存队列,当离线处理完成时,再把这个缓存逐一放到正常的消息显示和处理逻辑中。

微信其实也差不多是这样的逻辑,你可以做一个实验,就是把微信卸载掉,然后重装再登陆,你可以看到微信在同步离线消息的过程中消息在持续异步被加载过来,此时的实时消息也是不会先于这些离线消息显示的。
评论 6
引用:WarriorFromLong 发表于 2022-03-11 13:18
11111,也就是客户端先处理离线消息,然后再处理后续的实时消息

但是假如B客户端上线,在分批拉取A给 ...

im这种东西,对于某Q来说,技术上有个“万有一失”的原则,也就是说,聊天消息这种东西不比金融数据,极端情况下出点小纰漏是可以容忍的,大不了再说一遍嘛。
真要纠结百分百的理论完美程度,那各方面难度和成本就上去了。做im产品,要在成本、体验上做到适可而止就行了,不能光在理论上追求完美
引用:WarriorFromLong 发表于 2022-03-11 18:54
收到,谢谢。。那就让前端过一定时间拉一下算球

打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部