当用户同一用户多次登录时,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组件,游客,用户多次切换登录同一直播间,消息出现多次重复问题解决

在 Play 框架中防止多次登录网站

DISCONNECTED 状态后无法连接 strophe js 连接

如何在 jmeter 中与同一个用户多次申请同一个招聘会?