默認
發表評論 4
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
求助IM拉取離線聊天消息的完畢標記問題,麻煩看看
閱讀(1238) | 評論(4 收藏1 淘帖
初次登錄或者網絡波動斷開連接了,首先肯定要判斷連接斷開的時候有沒有離線消息吧,如果有的話肯定要拉取,但是問題來了在我拉取離線消息的時候又有新的消息到達這要怎么辦。。。。如果直接顯示到聊天列表里面順序有可能不對。
論壇看的帖子基本都是 先不標識上線狀態先拉取離線消息,拉取完畢在標記上線接收消息。。。。但是又有一個問題了,我在拉取離線消息的時候剛拉取完畢又有消息過來因為這時候還沒有標記上線 又存到了離線消息表里面。。。這要咋搞糾結好久了。。。希望大佬回答一下。



即時通訊網 - 即時通訊開發者社區! 來源: - 即時通訊開發者社區!

標簽:IM開發
上一篇:spring怎樣接收stomp協議發送的sck幀下一篇:微信這樣的IM的附件用什么協議傳?aes加密是在網絡層完成嗎?
推薦方案
評論 4
你看的哪個篇文章的哪段邏輯思路?還沒有標記上線就收到離線消息?你在拉取離線消息的時候就已經是在線的了,這時候的消息不可能需要存到你的離線消息表里啊
簽名: 《微信后臺基于時間序的新一代海量數據存儲架構的設計實踐》:http://www.4239727.live/thread-2970-1-1.html
引用:JackJiang 發表于 2020-02-05 22:10
你看的哪個篇文章的哪段邏輯思路?還沒有標記上線就收到離線消息?你在拉取離線消息的時候就已經是在線的了 ...

如果離線消息還沒拉取完畢 新的消息先到達了要咋搞啊
引用:四月的謊言 發表于 2020-02-06 22:52
如果離線消息還沒拉取完畢 新的消息先到達了要咋搞啊

這種情況,可以根據消息的時間(有的im中消息id本身就是時間有序的,可以根據消息id來排序)在客戶的消息數據模型中進行排序,而不是直接插入到模型的最后面。說到底,客戶端只是用來顯示,顯示排序成本不高。
簽名: 《微信后臺基于時間序的新一代海量數據存儲架構的設計實踐》:http://www.4239727.live/thread-2970-1-1.html
引用:JackJiang 發表于 2020-02-07 15:44
這種情況,可以根據消息的時間(有的im中消息id本身就是時間有序的,可以根據消息id來排序)在客戶的消息 ...

好的謝謝
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
股票配资平台都找股牛网