当用户同一用户多次登录时,strophe.js 不调用断开连接
Posted
技术标签:
【中文标题】当用户同一用户多次登录时,strophe.js 不调用断开连接【英文标题】:strophe.js not calling disconnect when user same user logged in multiple times 【发布时间】:2014-01-03 06:06:09 【问题描述】:我是 strophe.js 的新手。我正在开发一个用于视频通话的网站,我使用了以下内容- strophe.js 版本 1.0.2 和 BOSH ,xmpp(ejabbered) 版本 2.1.11。
现在是
使用不同浏览器多次登录同一用户或 设备,但它没有异步调用断开方法
。我正在寻找这个,但没有得到针对这种情况需要做的事情,我可以限制单个用户的单次登录。
谁能帮我解决我的问题?
【问题讨论】:
【参考方案1】:我认为这对于 xmpp 来说是正常的。因为每个用户可以拥有多个资源。
如果资源总是同一个,可以试试this:
选项 resource_conflict 定义客户端尝试时的操作 登录到具有已连接资源的帐户。这 选项语法是:
resource_conflict: setresource|closenew|closeold 可能的值 完全匹配 XMPP Core 中描述的三种可能性: 7.7.2.2。默认值为 closeold。如果客户端使用旧的 Jabber Non-SASL 身份验证 (XEP-0078),则不支持此选项, 并且执行的操作是closeold。
如果上面的配置不起作用,也请尝试this:
如果您只想限制同一用户的登录时间:
匿名身份验证方法可以配置为 以下选项。请记住,您可以使用 host_config 选项 设置虚拟主机特定选项(参见第 3.1.3 节)。
allow_multiple_connections: false|true 此选项仅在以下情况下使用 启用匿名模式。将其设置为 true 意味着相同 用户名可以在匿名登录模式下多次使用,如果 不同的资源用于连接。此选项仅适用于 非常特殊的场合。默认值为 false。
【讨论】:
以上是关于当用户同一用户多次登录时,strophe.js 不调用断开连接的主要内容,如果未能解决你的问题,请参考以下文章
iOS直播Liveroom组件,游客,用户多次切换登录同一直播间,消息出现多次重复问题解决