默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助IM拉取离线聊天消息的完毕标记问题,麻烦看看
阅读(35598) | 评论(4 收藏1 淘帖
初次登录或者网络波动断开连接了,首先肯定要判断连接断开的时候有没有离线消息吧,如果有的话肯定要拉取,但是问题来了在我拉取离线消息的时候又有新的消息到达这要怎么办。。。。如果直接显示到聊天列表里面顺序有可能不对。
论坛看的帖子基本都是 先不标识上线状态先拉取离线消息,拉取完毕在标记上线接收消息。。。。但是又有一个问题了,我在拉取离线消息的时候刚拉取完毕又有消息过来因为这时候还没有标记上线 又存到了离线消息表里面。。。这要咋搞纠结好久了。。。希望大佬回答一下。



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

标签:IM开发
上一篇:spring怎样接收stomp协议发送的sck帧下一篇:微信这样的IM的附件用什么协议传?aes加密是在网络层完成吗?
推荐方案
评论 4
你看的哪个篇文章的哪段逻辑思路?还没有标记上线就收到离线消息?你在拉取离线消息的时候就已经是在线的了,这时候的消息不可能需要存到你的离线消息表里啊
引用:JackJiang 发表于 2020-02-05 22:10
你看的哪个篇文章的哪段逻辑思路?还没有标记上线就收到离线消息?你在拉取离线消息的时候就已经是在线的了 ...

如果离线消息还没拉取完毕 新的消息先到达了要咋搞啊
引用:四月的谎言 发表于 2020-02-06 22:52
如果离线消息还没拉取完毕 新的消息先到达了要咋搞啊

这种情况,可以根据消息的时间(有的im中消息id本身就是时间有序的,可以根据消息id来排序)在客户的消息数据模型中进行排序,而不是直接插入到模型的最后面。说到底,客户端只是用来显示,显示排序成本不高。
引用:JackJiang 发表于 2020-02-07 15:44
这种情况,可以根据消息的时间(有的im中消息id本身就是时间有序的,可以根据消息id来排序)在客户的消息 ...

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

返回顶部