网站在线人数的精确统计的个人看法

我给一个比较有趣的做法,当然很耗费资源。那就是持续连接。。。。
你做一个包含页面,。让每个可访问的页面都用ajax/iframe调用这个。
这个页面的核心代码大致如下。 

     if  ( true ) {  //  防止编译错误,说后面的代码不能到达 
       while  ( true ) {  //  死循环 
         try  { 
          out.println(); 
//  输出一个空行 
          out.flush();  //  这一句必须写 
          
//  检查当前在线人员,确保它没有被删掉 
          check(session); 
          
try  { 
            Thread.sleep(
10 );  //  休眠一下吧 
          }  catch  (Exception ex) { 
          } 
        } 
catch  (Exception ex) { 
          
//  一旦发现异常,则证明此用户已经离开当前页面 
          
//  从在线人员里面删掉当前人员 
          remove(session); 
        } 
      } 
    }

 用户同时打开多个页面会造成多个持久连接,没办法,因为你无法确定用户会关闭哪个页面哦。

这个方法可以在用户和服务器之间保持一个持久的连接,一旦异常,则该用户就离开了这个页面。
此方法可以最大限度的精确在线人员数,但是也非常耗费系统资源。 思路借鉴于网游。

你可能感兴趣的:(thread,Ajax,网游)