我的思路是这样的.一个sessionID和一个IP绑定.每个页面加上使用ajax1分钟请求一次.
我在网上找了好久,都没找到什么更好的方法.
请问下大家你们是如何精确获取在线活动用户的?

解决方案 »

  1.   

    怎么样算是活动的用户呢?session没过期就算活动?那对于那些开着页面什么都不干的,算做活动的用户吗?我觉得这个东西只能算出个概数来。真要精确到一个都不差不太现实。你可以弄一个静态的map,有请求的时候就把对应的sessionId当做key,请求时间作为value保存一下。然后服务器端每分钟检查一下,如果有超过session过期时间的,就删掉。最后看看map里有多少个对象就好了。
    误差就是那些关掉浏览器的用户,你可以加js方法,浏览器关闭之前向server发送请求。不过对于那种直接拔电源的终极用户来说就没什么好办法了。让客户端每分钟向服务器发送个请求,你是不是想捣腾死你的服务器?另外,不知道你为什么要sessionId和IP绑定,难道一台机器只能有一个用户?我不知道你的系统是不是可以在一台机器上登陆两个用户。或者对于那种一个IP,分接多台电脑的情况,你绑定IP要干什么呢?
      

  2.   

    或者你看看下面这个,也许对你有帮助
    http://topic.csdn.net/t/20040422/09/2994720.html
      

  3.   

    用session 本身就不可能是精确的
    你的精确 的具体要求达到什么样的程度
      

  4.   

    http://www.elecfans.com/soft/softdown.asp?softid=51137