关于java web捕捉系统每个用户的现在时长,大家都有什么好的方案。
红薯:是的
回复:@Pig-man 赞
重写HttpSessionListener里sessionDestroyed方法
用websocket定时握手,进行统计用户在线时间
打开osc 然后什么都不做,光用眼珠子看,这算在线时长吗?
回复@web4j : 我也觉得这种方法挺好,也简单。
session 一般都是一样长的,如果你的用户活动的时间大部分都小于session的寿命,那这些数据就没意义了吧。
建议在session的基础上,增加一个最后活动时间(LastActiveTime)的记录,这样在session过期的时候触发统计,就知道这个用户自从登陆后(session.create)到最后活动时间(LastActiveTime)的时长。
此方案如果用户量大的话,服务器压力太大了
js 定时发送在线状态,收到就加时间
我觉的还是楼下那种捕捉session的方案好一点,因为我做那个在线人数也是这样的,登录用户就记录application,session失效就减
目前不需要自己开发吧,不是有很多流向的流量或PV统计网站么,比如说百度统计
是的,这个需求的前一部分是统计在线用户,争论了一下才定下来,然后这个需求,我自己也没有想到好的方案
先要定义什么叫"用户在线"?
你怎么定义用户在线? 这问题, 腾讯, 阿里都定义不出..
回执时间太短,服务器压力大,太长则时间不准确
回复@Pig-man : 把记时的服务放到其他服务器上,Ajax 请求还是比较轻量级的,每秒上万的请求处理问题不大,在线记时本就是参考性的,没有精确可言
回复@Pig-man : 那就捕捉session,session有效期内的都算在线。这样会减缓服务器压力,而且用户在线这个本身界限就很模糊
回复@Pig-man : 如果不是即时在线,而是统计用户在线时长,可以把计时器做在客户端,定义一个时间发送一次添加时间,如果强制退出那额外的时间就强制不算得了
回复@II如心II : 同意session
如果有回执就说明在线,反之不在线
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(19)
红薯:是的
回复:
@Pig-man 赞
重写HttpSessionListener里sessionDestroyed方法
用websocket定时握手,进行统计用户在线时间
打开osc 然后什么都不做,光用眼珠子看,这算在线时长吗?
回复
@web4j : 我也觉得这种方法挺好,也简单。
session 一般都是一样长的,如果你的用户活动的时间大部分都小于session的寿命,那这些数据就没意义了吧。
建议在session的基础上,增加一个最后活动时间(LastActiveTime)的记录,这样在session过期的时候触发统计,就知道这个用户自从登陆后(session.create)到最后活动时间(LastActiveTime)的时长。
此方案如果用户量大的话,服务器压力太大了
js 定时发送在线状态,收到就加时间
我觉的还是楼下那种捕捉session的方案好一点,因为我做那个在线人数也是这样的,登录用户就记录application,session失效就减
目前不需要自己开发吧,不是有很多流向的流量或PV统计网站么,比如说百度统计
是的,这个需求的前一部分是统计在线用户,争论了一下才定下来,然后这个需求,我自己也没有想到好的方案
先要定义什么叫"用户在线"?
你怎么定义用户在线? 这问题, 腾讯, 阿里都定义不出..
回执时间太短,服务器压力大,太长则时间不准确
回复
@Pig-man : 把记时的服务放到其他服务器上,Ajax 请求还是比较轻量级的,每秒上万的请求处理问题不大,在线记时本就是参考性的,没有精确可言
回复
@Pig-man : 那就捕捉session,session有效期内的都算在线。这样会减缓服务器压力,而且用户在线这个本身界限就很模糊
回复
@Pig-man : 如果不是即时在线,而是统计用户在线时长,可以把计时器做在客户端,定义一个时间发送一次添加时间,如果强制退出那额外的时间就强制不算得了
回复
@II如心II : 同意session
如果有回执就说明在线,反之不在线