xmpp服务器的客户端可以断开其他客户端与服务器的连接吗?

Posted

技术标签:

【中文标题】xmpp服务器的客户端可以断开其他客户端与服务器的连接吗?【英文标题】:can client of the xmpp server disconnect other client from the server? 【发布时间】:2009-11-11 10:08:46 【问题描述】:

这可能吗?如何? (也许是愚蠢的问题,但我找不到答案:()

编辑:我正在使用嵌入到不同系统中的 Openfire 服务器,所以如果系统管理员将用户从系统服务器中踢出,我需要关闭用户与 Openfire 服务器的连接。

【问题讨论】:

【参考方案1】:

在某些情况下,是的:

相同的完整 jid“user@host/resource”从两个不同的来源连接。服务器通常会断开旧的。尽管某些服务器(想到 OpenFire)可能会使其可配置。

如果客户端有管理员权限,使用 adhoc 命令,它可以破坏另一个连接。这取决于服务器的实现。 (ejabberd 让这成为可能)

在所有其他情况下,客户端都是孤立的,这不会发生。 (或者这是服务器中的高优先级错误)。

【讨论】:

另外,如果您的客户端支持 XEP-146 (xmpp.org/extensions/xep-0146.html),您可以告诉它注销,无需服务器授权。 @cstar 这些命令是什么? ejabberd 不支持 XEP-0146。【参考方案2】:

在 Openfire 管理控制台中,作为 HTTP 服务器在端口 9090 上运行,管理员可以断开任何连接的客户端。

【讨论】:

以上是关于xmpp服务器的客户端可以断开其他客户端与服务器的连接吗?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:客户端如何重新连接到 xmpp 服务器

iOS XMPP 客户端在一段时间后断开连接

XMPP 流发送,不接收。为啥 XMPP 流可能会断开连接?

使用openfire在xmpp中几秒钟后连接断开

从 XMPP 注销客户端

在 XMPP 中检测使用相同帐户的其他客户端