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

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

sxfenglei

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

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

4979 2 0
2個(gè)回答

walkor 打賞

一般用思路二,性能會(huì)好一些

  • sxfenglei 2016-12-19

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

xmyrz

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

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