无邀请加入XMPP MUC会议室 - ejabberd

时间:2016-08-19 18:12:26

标签: xmpp ejabberd xmppframework multiuserchat

对于持久的XMPP会议室,如果客户端断开连接一次,会让客户再次加入会议室的方式是什么?在测试期间,我发现简单地将存在节发送回所述房间的JID并不会使客户端再次在房间中可用。重新进入房间是否仅在用户收到邀请时才会发生(因此,在我们的情况下,如果用户断开连接一次,用户将需要另一个邀请来加入房间?)?

如果是这种情况,那么为重新连接的原始房间参与者实施此类邀请的自动生成的最佳方法是什么?

感谢。

2 个答案:

答案 0 :(得分:0)

使用 pubsub 功能和相对MultiUserChat 书签的最佳方式。 如果您需要根据您的特殊需求拒绝某些内容,则可以开发自定义书签管理器。

您需要以下步骤:

1)创建持久群聊时,请在首次加入后为群聊添加书签。 (=>保存在db groupchat名称和密码上)

2)当收到邀请时,在第一次加入后为群聊添加书签(=>保存在db groupchat名称和密码上)

3)登录/重新连接retrive书签列表

4)Foreach书签 - >加入(并分配监听器等)

5)提供删除书签条件(基于时间戳,会话,显式请求等)。

Official specifications

答案 1 :(得分:0)

有一个proposed XEP,它在最新的ejabberd中实现,它支持订阅。它将MUC房间作为pubsub节点展示,以介绍MUC房间订户的概念。