1
cevincheung 2014-06-06 10:41:29 +08:00
判断最后在线时间呗- -。比如这个用户最后活动时间在5秒以前,那他就是在线状态呗。5秒以后就下线了呗。
|
2
imn1 2014-06-06 11:50:39 +08:00
原理和楼上说的一样
可以设一个cookies记录最近一次访问时间 |
3
ksc010 2014-06-06 11:51:02 +08:00
也可以把session存在数据库里面
|
4
cnxh 2014-06-06 12:20:12 +08:00
或者设置一个心跳功能,定时告诉服务端你在线?
|
5
RIcter 2014-06-06 12:31:33 +08:00
session
瀏覽器關閉後session就沒了,所以offline了 |
6
stormslowly 2014-06-06 12:31:43 +08:00
websocket
|
7
KotiyaSanae 2014-06-06 13:16:19 +08:00 via Android
我用redis做过,方法是别人的…大致这样,先维护一个所有用户的表。然后以一分钟为刻度开新表,那一分钟内活动过的用户就扔进去。
如果以五分钟没有活动作为下线的标志的话,那么在每分钟结束的时候对前五分钟的用户做一次并集,然后和所有用户做交集,在交集里面的用户标记online,否则offline。 如果觉得表达拙计的话,搜一下flask + redis,可以搜出来的。 就是这样,喵 |
8
shinebay 2014-06-06 15:37:50 +08:00
既然v2ex都是极客,谁他妈用破IE啊,用websocket最好
|
12
delo 2014-06-06 19:43:40 +08:00 via iPhone
@RIcter session可以保存在服务器端哦,关闭浏览器服务器可不一定知道 :) 所以关闭浏览器大概没法说session就没了
|
13
KotiyaSanae 2014-06-06 19:49:30 +08:00
我犯了个错误,直接搜搜不出来……付链接: http://flask.pocoo.org/snippets/71/ ,虽然有可能实现语言和框架不一样,但是思路是一样的
|
14
Love4Taylor 2014-06-06 19:51:24 +08:00
|
15
Seita 2014-06-06 19:58:32 +08:00
@Love4Taylor 我的原理比较弱智而且影响性能就不说了。。
|
16
AlanZhang 2014-06-06 20:05:15 +08:00 via iPhone
@KotiyaSanae 这个方法挺新颖的。
|
17
canesten 2014-06-06 22:56:52 +08:00
@delo
V2EX就是session实现的 如果你用chrome 你可以试试关闭浏览器以后 马上再打开一个隐身页访问自己的页面 会发现自己还是online的 做的再好一些可以在关闭窗口的事件上绑定一个JS来通知服务器 但是依然不能解决死机断电断网什么的意外 |
18
yetone 2014-06-06 23:08:33 +08:00
我的 collipa.com 用的是 websocket
|
19
delo 2014-06-07 00:10:04 +08:00 via iPhone
|