亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

django的消息推送問題

django的消息推送問題

德瑪西亞99 2018-07-21 08:53:18
我是用django+channel做的消息推送功能,但是呢有個問題,就是比如系統給A用戶推送了一條消息,如果A用戶連接到了/message這個websocket,那么消息可以正常推送過去,但是如果A用戶沒有打開APP并且也沒有連接到websocket,那么系統推送的消息就相當于丟失了你期待的結果是什么?能不能做到這種,系統給A推送了10條消息,當A用戶打開APP并連接到/message這個websocket時,就把之前推送的10條消息都返回過去消息是不保存在數據庫的有一個關鍵的問題,就是,系統怎么知道A用戶有沒有連接到/message呢?
查看完整描述

1 回答

?
慕尼黑5688855

TA貢獻1848條經驗 獲得超2個贊


那簡單,不用數據庫那就放在內存吧。建個字典 dict 存放待用戶待推送的消息:

wait_push = {
    <user_id> : ['text', 'text', ...]
}

用戶 self.accept() 接受websocket請求后,檢測下是否有消息再 self.send() 。為了避免內存高占用,字典可以僅保存一定數量的推送,超過的話就頂掉舊的。


查看完整回答
反對 回復 2018-07-21
  • 1 回答
  • 0 關注
  • 580 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號