[问题] 如何判断使用者有没有在线上

楼主: 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