作者Arim (Arim5566)
看板Ajax
标题[问题] 如何判断使用者有没有在线上
时间Wed Apr 30 14:22:39 2014
各位板友好
我想设计一个聊天室,当使用者登入的时候,会显示在线上
但是当使用者关闭分页的时候,就会显示离线...
请问这个应该要找什麽关键字,可以怎麽做?
谢谢
--
~宅男的四个徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以当好人为乐 忘记正妹亏欠自己
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.117.169.133
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1398838963.A.ACE.html
1F:推 mrbigmouth:你聊天室是怎麽连接server的? 04/30 14:32
2F:→ mrbigmouth:如果是websocket这种常驻连接就直接抓断线event 04/30 14:33
3F:→ mrbigmouth:不然就只能一段时间内未传讯息视为离线了 04/30 14:33
4F:→ tooto1985:纯前端无法,请搭配後端! 04/30 15:52
5F:推 mrbigmouth:楼上 没有纯前端聊天室这种东西吧!?!?!? XDDDDD 04/30 17:08
6F:→ mrbigmouth:(你是自己跟自己聊天吗?XD) 04/30 17:08
7F:→ tooto1985:我是说纯前端无法做线上人数统计 XD 04/30 18:10
8F:推 cleanwind:不考虑效能的话,每 15 秒写一次时间,超过 30 秒没回应 04/30 21:18
9F:→ cleanwind:即视为下线。 04/30 21:18
10F:推 banjmin:我觉得polling的方式不是很好 应该有event driven的方法 04/30 22:25
11F:→ banjmin:不然聊天室的话 我之前有用firebase玩过 你可以看看他API 04/30 22:25
12F:推 tooto1985:看後端是什麽平台? 解决方案各有不同! 04/30 23:39
13F:→ danny8376:polling的方式当然不理想 不过不是所有後台都有得选 05/01 00:54
14F:推 shaopin:找socket.io 05/01 04:30
15F:→ shaopin:如果你要做聊天室 就专注在聊天室的功能 05/01 04:31
16F:→ shaopin:如果你要研究server side push 才继续去看websocket, long 05/01 04:31
17F:→ shaopin:poll 这些东西 05/01 04:31
18F:→ shaopin:纯前端当然有办法, 办法就是用third party cloud service 05/01 04:33
19F:→ shaopin:请google firebase, pubnub这些词..或是用google channel 05/01 04:33
20F:→ danny8376:使用者关闭分页的时候,就会显示离线 <= push 05/01 05:09
补充一下,我是用 websocket,只是想知道如果是其他方法的话可以怎麽做
※ 编辑: Arim (114.39.57.46), 05/01/2014 09:09:51
21F:→ danny8376:非websocket的话就上面说的定时check了 05/01 17:10
22F:→ danny8376:不过上面提到的socket.io不错 非websocket都帮你包的 05/01 17:11
23F:→ danny8376:像socket一样来用了 05/01 17:11
24F:推 mrbigmouth:socket.io後端限用node.js 不然用firebase等是不错解 05/02 10:44
25F:→ mrbigmouth:但我不会说你用了firebase就叫纯前端XD 你只是用别人的 05/02 10:45