默認
發表評論 14
想開發IM:買成品怕坑?租第3方怕貴?找開源自已擼?盡量別走彎路了... 找站長給點建議
[已解決] 求教關于RainbowChat中消息撤回功能的一些邏輯疑問
閱讀(2289) | 評論(14 收藏 淘帖
在做撤回功能時遇到一些問題,求教

1、在線情況下:手機端可以將撤銷的消息指紋碼傳入后臺,后臺可以從數據庫將消息刪除,并且推送一條消息給手機端,返回撤銷的消息的指紋碼,手機端將消息刪除;
2、離線情況下:在存入離線消息時,根據消息機制,無法將需要撤銷的指紋碼保存,返回給手機端,手機端也就無法刪除需要撤銷的消息??

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

標簽:RainbowChat

1548125002316.jpg (285.58 KB, 下載次數: 34)

1548125002316.jpg
上一篇:RainbowChat(iOS端) 版本更新日志(本貼持續更新...)下一篇:RainbowChat[專業版] 的v5.0版已發布!
推薦方案
評論 14
我覺得你可能是思路上有點混亂,你可以看看我在這個帖子里的回復:《求教關于IM中服務端做消息撤回功能的問題
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
引用:JackJiang 發表于 2019-09-23 18:52
我覺得你可能是思路上有點混亂,你可以看看我在這個帖子里的回復:《求教關于IM中服務端做消息撤回功能的問 ...

在線的情況按照你的邏輯處理是可以的
引用:JackJiang 發表于 2019-09-23 18:52
我覺得你可能是思路上有點混亂,你可以看看我在這個帖子里的回復:《求教關于IM中服務端做消息撤回功能的問 ...

在做群聊消息撤回時,如何將群聊隨機生成的指紋碼的離線消息刪除掉??
引用:IM、你好 發表于 2019-09-25 21:28
在做群聊消息撤回時,如何將群聊隨機生成的指紋碼的離線消息刪除掉??

你需要做兩件事:
1)在服務端將群聊消息分發出來時,你需要將每條擴散寫出的消息里,放入一個字段,這個字段記截的是之前發出群聊消息時的原始消息指紋碼;
2)收到這條群消息的人,撤回時,提交服務端請求,服務端用原始消息指紋碼到離線表里匹配這條離線消息(群聊的離線消息,一個群只記一條,而不是每個人都記一條),匹配到后要么刪除,要么用“某某已撤回一條消息”這樣的字眼覆蓋原消息內容。
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
引用:JackJiang 發表于 2019-09-26 10:35
你需要做兩件事:
1)在服務端將群聊消息分發出來時,你需要將每條擴散寫出的消息里,放入一個字段,這 ...

我們要加字段的話,需要注意哪些?在那些地方進行改動?
引用:IM、你好 發表于 2019-09-26 11:11
我們要加字段的話,需要注意哪些?在那些地方進行改動?

把代碼邏輯讀一遍,一條群聊消息,是如何從客戶端A到服務端,再擴散寫到客戶端B、客戶端C... 這完整的邏輯,先讀懂。就知道怎么動手。

不然,你這么籠統的問我,如果你是大美女的話,哥我就只能手把手地教你寫了。。。 大老爺們就算了
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
引用:JackJiang 發表于 2019-09-26 12:25
把代碼邏輯讀一遍,一條群聊消息,是如何從客戶端A到服務端,再擴散寫到客戶端B、客戶端C... 這完整的邏 ...

在onTransBuffer_C2C_CallBack();方法里面嘗試加參數,但是涉及較多都都失敗了

3.png (47.84 KB, 下載次數: 33)

3.png
引用:JackJiang 發表于 2019-09-26 12:25
把代碼邏輯讀一遍,一條群聊消息,是如何從客戶端A到服務端,再擴散寫到客戶端B、客戶端C... 這完整的邏 ...


2.png (18.33 KB, 下載次數: 28)

2.png

1.png (30.95 KB, 下載次數: 33)

1.png
引用:JackJiang 發表于 2019-09-26 12:25
把代碼邏輯讀一遍,一條群聊消息,是如何從客戶端A到服務端,再擴散寫到客戶端B、客戶端C... 這完整的邏 ...

這個函數里面怎么新增參數  boolean onTransBuffer_C2C_RealTimeSendFaild_CallBack(Protocal p)
引用:IM、你好 發表于 2019-09-26 14:24
這個函數里面怎么新增參數  boolean onTransBuffer_C2C_RealTimeSendFaild_CallBack(Protocal p)

你上面的回復,全是扯蛋,還是沒看懂。

你按我的思路來,我來引導你:
你先告訴你,你有沒有讀懂我在7樓要你去看的這個邏輯:“一條群聊消息,是如何從客戶端A到服務端,再擴散寫到客戶端B、客戶端C... 這完整的邏輯”。
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
引用:JackJiang 發表于 2019-09-26 14:33
你上面的回復,全是扯蛋,還是沒看懂。

你按我的思路來,我來引導你:

這個知道的

告訴你,你看到的群聊消息,在服務端的最終擴散寫發送那段,在哪里,截個圖,我確認一下你有沒有看對地方。

然后,我告訴你如何把原始指紋碼取出來,放到哪里發送出去。
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
引用:JackJiang 發表于 2019-09-26 15:13
告訴你,你看到的群聊消息,在服務端的最終擴散寫發送那段,在哪里,截個圖,我確認一下你有沒有看對地方 ...

已經找到哪里的問題了,就是說:客戶端A在發給服務端的時候,我們需要將指紋碼保存下來,但是加的字段一直無效,后來發現離線消息并沒有走這個方法,然后就想到了一直被忽略的 RainbowChatMQServer 在這里找到了離線插入數據庫的方法,現在可以插進數據庫了。接下來可以繼續處理了。
萬分感謝!

MQServer.png (164.54 KB, 下載次數: 33)

MQServer.png
引用:IM、你好 發表于 2019-09-26 15:35
已經找到哪里的問題了,就是說:客戶端A在發給服務端的時候,我們需要將指紋碼保存下來,但是加的字段一 ...

嗯嗯
簽名: 《極致優化,iOS版微信編譯速度3倍提升的實踐總結》http://www.uktmgv.tw/thread-2873-1-1.html
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特