默認
發表評論 2
[已回復] 求教同一賬號、不同設備、同時登陸強制下線的優化方法
閱讀(443) | 評論(2 收藏 淘帖
安卓和IOS存在:同一賬號,在多臺設備同時登陸的問題,想要改成同一賬號只能同時在唯一一臺設備上登陸,其他設備強制下線?

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

標簽:RainbowChat
上一篇:[已回復] 求RainbowChat安卓端模仿QQ實現未讀消息數的顯示方法下一篇:[已回復]求教RainbowChat的android端自定義發送消息的問題
推薦方案
評論 2
這個需求,可以在MobileIMSDK這一層來優化,方法就是在第二個設備上登陸時,服務端發現該賬號的會話已存在時,就先踢出之前的會話(先發一個踢出指令,后斷開會話),然后再繼續正常流程。

這里面有一個難點,就是因為是udp協議,所以最壞的情況下,萬一踢出前一個賬號時,踢出指令丟了,那就有點麻煩。這個可以建議加一個時間戳,當前一個會話沒有收到被踢指令,嘗試重連時,帶上這個時間戳,服務端比對出這個時間戳比第2個設備上的時間戳早,就意味著這是個已被廢棄的會話,再重發給他被踢指令即可。

以上大致的思路就是這樣,僅供參考。這個優化可以直接在mobileimsdk的demo里優化好,測試沒問題后打jar使用即可,這樣方便測試。
簽名: 《對比主流分布式MQ消息隊列,媽媽再也不擔心我的技術選型了》http://www.uktmgv.tw/thread-2625-1-1.html
重連的時候帶上時間戳,確實能解決這個問題,下一個版本里面能不能帶上時間戳,我怕我去改源碼,反而改爛了,,因為我現在重連的代碼在哪兒實現的,都不知道,,,,
打賞樓主 ×
使用微信打賞! 使用支付寶打賞!

返回頂部
曾氏料二肖中特