如何解决openfire同一帐号多地登陆的问题
1个回答
2014-12-15
展开全部
1、启动时候session管理
在sessionManager里面有一个initialize方法,他会读取数据库中ofProperty表中的xmpp.session.conflict-limit数据。表示当前不允许重复登录。
2、登录时候
新的用户登录的时候,他会调用IQBindHandler里面的handleIQ方法来进行登录绑定,他会根据用户名、服务器名称、客户端资源名,来判断当前of环境中是否存在此用户的session,如果有,再判断是否大于数据库中的conflict-limit,若大于,就直接把之前的session给剔除。
若小于conflict-limit他不会剔除session,但会发送错误信息,session保持链接。
本答案来自于互联网,仅供参考学习作用
如果您对我的回答有不满意的地方,还请您继续追问;
答题不易,互相理解,互相帮助!
在sessionManager里面有一个initialize方法,他会读取数据库中ofProperty表中的xmpp.session.conflict-limit数据。表示当前不允许重复登录。
2、登录时候
新的用户登录的时候,他会调用IQBindHandler里面的handleIQ方法来进行登录绑定,他会根据用户名、服务器名称、客户端资源名,来判断当前of环境中是否存在此用户的session,如果有,再判断是否大于数据库中的conflict-limit,若大于,就直接把之前的session给剔除。
若小于conflict-limit他不会剔除session,但会发送错误信息,session保持链接。
本答案来自于互联网,仅供参考学习作用
如果您对我的回答有不满意的地方,还请您继续追问;
答题不易,互相理解,互相帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询