有没有办法确定用户加入了多个用户会议(MUC)?

Yur*_*nko 6 xmpp chatroom

我想知道是否有办法查询XMPP服务器(传递用户JID?)以找出该用户当前所在的聊天室?如果没有,我们可以查询jabber服务器以获取所有活动聊天室的列表吗?

顺便说一句,我们正在为多用户聊天启用ejabber.使用java库(smack?)的解决方案是理想的.

Mic*_*ond 3

正如 Joe Hildebrand 所提到的,不存在这样的标准功能,因为通过 XMPP 允许这样做会侵犯隐私,因此您不能指望 Smack 能够做到这一点。也许拥有管理员权限,您可以拥有一个自定义协议扩展来执行此操作,但这似乎有风险。

然而,在服务器级别,您应该能够为 ejabberd 编写一个自定义模块,该模块将查询或索引用户所在的所有房间。这不是标准的,并且涉及插件开发。