如何发现当前连接的服务器是否提供MUC组件

时间:2011-06-20 17:24:18

标签: xmpp smack service-discovery

是否有可能,以及如何发现当前服务器是否提供带有Smack的MUC组件?

我尝试尽可能简化最终用户的配置。因此他必须只输入JID和密码。如果属于JID的服务器具有MUC组件,则该组件应该用于新的MUC。如果服务器未提供MUC组件,则使用默认MUC组件。

1 个答案:

答案 0 :(得分:2)

您希望使用XEP-0030(服务发现)。 ServiceDiscoveryManager提供了一个实现。对于discoverItems返回的每个项,请调用getInstanceFor(connection),然后调用discoverItems("example.com"),然后调用discoverInfo(jid)。正确的组件将实现http://jabber.org/protocol/muc功能。