有没有办法确定用户加入了哪些多用户会议 (MUC)? [英] Is there a way to determine which Mulit User Conferences (MUC) a user has joined?

查看:33
本文介绍了有没有办法确定用户加入了哪些多用户会议 (MUC)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I wonder if there is a way to query the XMPP server (passing user JID?) to find out what chat room(s) this user is currently in? If not, can we query jabber server to get a list of all active chat rooms?

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

BTW we're running ejabber enabled for multiuser chat. A solution using a java library (smack?) would be ideal.

推荐答案

正如 Joe Hildebrand 所提到的,没有这样的标准功能,因为允许通过 XMPP 实现它是隐私侵犯,所以你不能指望从啪.也许使用管理员权限,您可以使用自定义协议扩展来执行此操作,但这似乎有风险.

As mentioned by Joe Hildebrand, there is no such a standard feature as it is a privacy violation to allow that over XMPP, so you cannot expect to do that from Smack. Maybe with admin privilege you could have a custom protocol extension that does that but that seems risky.

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

However, at the server level, you should be able to write a custom module for ejabberd that will query or index all rooms users are in. This is not standard and there is plugin development involved.

这篇关于有没有办法确定用户加入了哪些多用户会议 (MUC)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆