`
wang371134086
  • 浏览: 128436 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

    博客分类:
  • DWR
阅读更多

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

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

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

分享到:
评论

相关推荐

    java基础.doc

    数组是Java中存储同类型数据的集合,允许你一次性处理多个元素。类和对象是面向对象编程的核心,类定义了对象的属性和行为,而对象则是类的实例。 字符串在Java中是常用的数据结构,Java提供了String类来处理字符串...

    【计算机专业Java-毕业设计100套之】JAVA3D的网络三维技术的设计与实现(源代码+论文+说明)

    这个【JAVA3D的网络三维技术的设计与实现】项目是针对计算机专业学生的一个毕业设计,旨在帮助学习者理解并掌握Java 3D库以及如何在网络环境中应用它来创建交互式的三维场景。 该项目的核心知识点包括: 1. **Java...

    用java做的多人在线小游戏.zip

    本项目“用java做的多人在线小游戏”便是一个绝佳的学习与实践平台,尤其适合进行课程设计或毕业设计。下面我们将深入探讨该项目中的核心知识点。 1. **Java网络编程**:多人在线游戏的核心是网络通信,Java的...

    leetcode:我的leetcode解决方案

    总之,“leetcode:我的leetcode解决方案”是一个宝贵的资源,对于想要提升JavaScript编程技能和算法理解的开发者来说,这是一个绝佳的学习材料。通过深入研究这个压缩包,你可以了解不同的解题策略,提高你的编程...

    JavaLabs:从第8章开始,我对https://www.udemy.comcourselearn-to-program-with-java-2的实验室解决方案的练习

    这些实验室解决方案是检验理解、巩固知识和提升技能的绝佳途径。因此,无论你是初学者还是有一定经验的开发者,"JavaLabs"都是提升Java编程能力的宝贵资源。记得不断练习,因为编程的精髓在于动手操作。祝你在Java...

    Android应用源码之支持农历的精美日历项目源码.zip

    本项目源码提供了这样的解决方案,它不仅实现了基本的日历功能,还特别强调了对中国传统农历的支持,使得用户可以在同一平台上方便地查看和管理日期。 首先,我们要关注的是源码中的"JavaApk源码说明.txt"文件。这...

    JavaExercise

    在这个项目中,你可以找到一系列的代码示例、练习和可能的解决方案,覆盖了从基础语法到高级特性的广泛内容。下面将详细阐述Java语言的一些关键知识点。 1. **基础语法**:Java的基础包括变量声明、数据类型(如...

    少见的手机网游源码

    描述中提到的"比较少见的网游开发源代码"可能意味着这份源码采用了独特的架构或者算法,这对于那些已经熟悉常规游戏开发流程的开发者来说,是一个探索新领域的绝佳机会。同时,"希望这段时间从事网络开发的朋友对...

    布线问题+八码难题 详细可运行的算法实现

    这是一个著名的棋盘问题,由莱昂哈德·欧拉提出,目标是在8×8的国际象棋棋盘上放置8个皇后,使得任意两个皇后都无法在同一行、同一列或对角线上相互攻击。这个问题是回溯算法的经典实例,它需要在每个位置尝试放置...

    超详细!使用Android studio实现五子棋小游戏(含源码工程包+万字项目设计文档)

    在本项目中,我们将深入探讨如何使用Android Studio开发一个五子棋小游戏,这不仅是一个娱乐应用,也是学习Android编程和游戏开发的绝佳实践案例。该项目包含完整的源代码工程包和一份详尽的万字项目设计文档,对于...

    Leetcode-Solutions-源码.rar

    "Leetcode-Solutions-源码.rar"是一个压缩包,其中包含了对LeetCode部分题目的解决方案源代码。这个压缩包对于学习算法、准备面试或者提升编程技巧的开发者来说是一份宝贵的资源。 一、LeetCode平台介绍 LeetCode...

    ReleaseTheKraken:CS344类的小组项目

    在描述中提到的信息和开发提示,可能包含游戏设计文档、代码规范、技术选型、开发工具的使用,以及可能遇到的问题和解决方案。这些资源对于团队协作和项目管理至关重要,它们能确保所有成员在同一页面上,遵循相同的...

    yummy_leetcode

    这些文件可能包含用不同编程语言(如Python、Java、C++等)编写的解决方案,展示了多种实现同一算法的方式。 在学习和使用"yummy_leetcode"的过程中,你可以: 1. **掌握基础数据结构**:如数组、链表、栈、队列、...

    OpenMeetings视频会议系统源代码

    总的来说,OpenMeetings是一个全面的视频会议解决方案,集成了音视频通信、桌面共享和协作工具,其开源性质和丰富的功能使其在各种环境下都能发挥出强大的效能。对于开发者而言,这是一个绝佳的学习和二次开发平台,...

Global site tag (gtag.js) - Google Analytics