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

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

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

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

你可能感兴趣的:(java 一个用户在同一时间只能登录一次的绝佳解决方案)