用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6114|回复: 15
收起左侧

[讨论/交流] 判断在线离线状态

  [复制链接]
发表于 2011-4-25 10:04:54 | 显示全部楼层 |阅读模式
CI的session类能不能有效地判断会员在线和离线的状态?

如何实现呀?
发表于 2011-4-25 14:09:22 | 显示全部楼层
做最后活跃的时间戳,和系统离线时限比较
 楼主| 发表于 2011-4-25 14:42:09 | 显示全部楼层
最后活跃的时间戳如何记录?

1、每访问一个页面更新一下。
   这样的话,只要没有操作,没有关闭窗口也会认为离线了。这样就太不准确了! 好比QQ不聊天的话就掉线了。这样不合适吧!?

2、用公共的JS通过ajax方法定时刷新。
   如果客户打开了多个站点页面。是不是都在刷新呢?
   还有就是这种方式会不会让服务器受不了呀?

真不知道 web qq 是什么原理实现的。
发表于 2011-4-25 15:23:16 | 显示全部楼层
存到session表里面,定期的检查用户状态,把几分钟没有更新过SESSION的从SESSION表里踢掉
 楼主| 发表于 2011-4-25 15:25:50 | 显示全部楼层
怎么做到定期检查?能说得再详细一点吗???
 楼主| 发表于 2011-4-25 15:27:19 | 显示全部楼层
我想要的效果是只要用户不关闭站点,就表示他在线,不论他操作不操作。就像QQ不聊天也是在线的呀!
发表于 2011-4-25 16:31:29 | 显示全部楼层
回复 6# daing


   定时请求服务器啊,不然session会自动过期的   你要ajax,不会用的话,你就搜搜看~~~
 楼主| 发表于 2011-4-25 16:47:45 | 显示全部楼层
Session 能不能设置过期时间吗?怎么设置?
发表于 2011-4-25 21:01:54 | 显示全部楼层
qq一直在和服务器通信,告知帐号状态,关了qq通信断了所以离线,网页判断离线一般是通过操作间隔判断状态,用户如果开着窗口1小时没动作,就算离线咯,这个论坛就是这种判断机制
发表于 2011-4-25 21:20:12 | 显示全部楼层
使用心跳包吧

本版积分规则