本帖最后由 envy2008 于 2012-01-06 11:25:43 编辑

解决方案 »

  1.   

    首先看了楼主贴出的以前帖子,也看了楼主的实现思路,但是。不明白,简单说一下我以前写的一个类似的实现方式吧。首先要知道BS的架构想要实现这种方式是比较困难的,如果非要实现这种功能的话,那对服务器的负载就很大了,因为客户端要保持和服务器的通信,而服务器要不间断的相应这种通信你可以想象一下服务器的负载有多大。我的实现方式:
    服务器为每个客户端创建一个session,session中存储客户的key和int值,同时在客户端用JS创建一个递增的int值,每隔一段时间,服务器会把客户端传递过来的int值覆盖掉自身的int值,同时覆盖之前保留自身int值的备份,然后每隔一段时间(该时间段要大于上面的时间段)比较服务器端两个int值是否相同(即覆盖之后的int值和保留备份的int值),相同则说明客户端已经断掉了,不同则说明未断掉。
      

  2.   

    用DWR长连接 这个需要你自己去研究 说来话长 这个思路是可以实现的 我已经利用这种思路实现了jsp网页聊天系统 用户浏览器关闭用户下线功能