java 一个用户在同一时间只能登录一次的绝佳解决方案

         对于这个需求  可能客户要求比较少,所以网上给出的解决方法不多,搜了很久都只有一种解决方法就是依靠session来实现,但是这种实现如果考虑到客户端崩溃的情况就会显得很不好(具体不好就不解释了,我默认大家都清楚)。所以我一直纠结于这个问题。腾讯的webQQ是可以实现这个功能的 ,而且很实时,另一处一登陆,就会在对一个登陆的用户发出下线提醒,我想要的就是这种效果。刚好前两天因为要做消息推送,于是研究了一下服务器端向客户端精确推送消息,也还好,做出了个小例子,然后我就忽然来了灵感,既然能做到消息的精确推送,那么精确让另一处登录的用户下线也就不是问题咯,于是在那个思路上实现了这个功能。

       具体实现的效果就是一个用户如果在其他地方已经登录,那么再次登录的时候另一个地方就会立即弹出下线提示。当然你也可以做到保证值一个用户登录后,其他地方登录的时候就给出已登录的提示,而且客户端突然崩溃的情况也豪不影响这个功能。

        至于代码,这个功能的实现和 http://blog.csdn.net/luojia_wang/article/details/8825929DWR3实现服务器端向客户端精确推送消息 )原理上是完全一样的,也就是我前一篇博客,有兴趣研究的话可以参考那篇文章,可以下载那个功能的源码然后修改,如果还有问题的话,给我留言!

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值