[問題] 如何判斷使用者有沒有在線上

作者: Arim (象山下智久)   2014-04-30 14:22:39
各位板友好
我想設計一個聊天室,當使用者登入的時候,會顯示在線上
但是當使用者關閉分頁的時候,就會顯示離線...
請問這個應該要找什麼關鍵字,可以怎麼做?
謝謝
作者: mrbigmouth (大嘴先生)   2014-04-30 14:32:00
你聊天室是怎麼連接server的?如果是websocket這種常駐連接就直接抓斷線event不然就只能一段時間內未傳訊息視為離線了
作者: tooto1985 ( )   2014-04-30 15:52:00
純前端無法,請搭配後端!
作者: mrbigmouth (大嘴先生)   2014-04-30 17:08:00
樓上 沒有純前端聊天室這種東西吧!?!?!? XDDDDD(你是自己跟自己聊天嗎?XD)
作者: tooto1985 ( )   2014-04-30 18:10:00
我是說純前端無法做線上人數統計 XD
作者: cleanwind (C.Y.)   2014-04-30 21:18:00
不考慮效能的話,每 15 秒寫一次時間,超過 30 秒沒回應即視為下線。
作者: banjmin (HD)   2014-04-30 22:25:00
我覺得polling的方式不是很好 應該有event driven的方法不然聊天室的話 我之前有用firebase玩過 你可以看看他API
作者: tooto1985 ( )   2014-04-30 23:39:00
看後端是什麼平台? 解決方案各有不同!
作者: danny8376 (釣到一隻猴子@_@)   2014-05-01 00:54:00
polling的方式當然不理想 不過不是所有後台都有得選
作者: shaopin (Brian)   2014-05-01 04:30:00
找socket.io如果你要做聊天室 就專注在聊天室的功能如果你要研究server side push 才繼續去看websocket, longpoll 這些東西純前端當然有辦法, 辦法就是用third party cloud service請google firebase, pubnub這些詞..或是用google channel
作者: danny8376 (釣到一隻猴子@_@)   2014-05-01 05:09:00
使用者關閉分頁的時候,就會顯示離線 <= push非websocket的話就上面說的定時check了不過上面提到的socket.io不錯 非websocket都幫你包的像socket一樣來用了
作者: mrbigmouth (大嘴先生)   2014-05-02 10:44:00
socket.io後端限用node.js 不然用firebase等是不錯解但我不會說你用了firebase就叫純前端XD 你只是用別人的

Links booklink

Contact Us: admin [ a t ] ucptt.com