国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

GatewayWorker如何判斷在線用戶需要定時循環(huán)調(diào)用isUidOnline來判斷嗎

sxfenglei

想寫一個基于GatewayWorker的類似QQ聊天一樣的產(chǎn)品。
1、注冊用戶寫入數(shù)據(jù)庫;
2、登錄用戶綁定client_id;
3、讀取數(shù)據(jù)庫獲取所有好友列表(但是這個好友是否在線的狀態(tài)怎么實現(xiàn))在線顯示彩色頭像,不在線顯示灰色頭像。
思路一、是不是需要寫個定時器沒幾秒中遍歷每個用戶的好友列表去調(diào)用isUidOnline判斷用戶是否在線;
思路二、將用戶表所有用戶標記為outline 在onConnect的時候?qū)?shù)據(jù)表用戶狀態(tài)改為online 然后再onClose 的時候?qū)⒂脩魻顟B(tài)改為outline并推送一條離線數(shù)據(jù)到前端。

不知道是不是這樣類判斷用戶是否在線并實時呈現(xiàn)在用戶界面上,可是總感覺好像那里不對勁。

5071 2 0
2個回答

walkor 打賞

一般用思路二,性能會好一些

  • sxfenglei 2016-12-19

    謝謝您 那也就是說在使用GatewayClient的話 因為GatewayClient內(nèi)沒有onConnect和onClose因此處理方式和Gateway::bindUid()一樣 就是監(jiān)聽當前socket及socket.onmessage()如果onClose事件推送來標記消息進行相應的處理即可。

xmyrz

常規(guī)第二種思路吧

年代過于久遠,無法發(fā)表回答
??