入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2008-02-10 投稿人: 浏览次数:2294

我给一个比较有趣的做法,当然很耗费资源。那就是持续连接。。。。
你做一个包含页面,。让每个可访问的页面都用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); 
        } 
      } 
    }

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

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

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。