2017-03-09 55 views
0

我可以创建一个muc房间。但是,如果我将房间名称作为数据库中现有的房间名称,服务器会拒绝它。因此,是否可以在ejabberd服务器(MYSQl后端)中创建两个同名的房间?如何使用现有房间名称创建muc私人聊天室?

如果可能,那么后果是什么?例如,我创建了两个房间,名称分别为“newGroupChat”和相同的用户列表(user1,user2)。 ejabberd如何识别它?如果我在“newGroupChat”中发送消息,这些消息是否出现在一个房间或两个房间中。

回答

0

它很难专门没有你想要达到的目的,但是我在另一个XMPP服务器设置中遇到了这个问题(它的通用性很差,在不同的服务器上有很少的配置差异),我得到的想法是这样的:

  1. 如果您使用不同的系统(不同IP),可以跨多个域的同一个房间里,因此你可以镜像房间,但房间名必须是同样的事情,例如“newGroupChat @会议.serverIP1“,第二个系统为”[email protected]“,并且当您在系统1上发送消息时,如果系统2用户在线并登录到房间,系统2用户也可以看到相同的消息。

  2. 如果它是相同的系统,我不知道你打算如何设置边界,有两种方法可以解决这个问题,我使用不同的操作系统(可能是桥接网络)并分离数据库。如果您使用的是嵌入式数据库,您无法重新创建同一个房间,那么您可以尝试在名称中添加扩展名,以查看它是否可以正常工作:“[email protected]/ID1”和“newGroupChat @ conference .serverIP1/ID2“,上面也适用于外部数据库,如SQL。这些是一些建议,并且muc setup可能与我给出的示例相比略有配置,但这是一个普遍的想法,如果您有更好的解释,您也可以与我分享,因为我正在研究不同系统上的LAN聊天同一个muc房间。

0

在XMPP世界,[email protected]用作房间的标识符,所以这里room是独一无二的。这就是为什么使用现有名称时使用失败的原因。

我想你可以尝试使用subject为此配置。

Xmpp MUC Xep-0045

室,虚拟空间用户为了参与实时的,与其他用户的基于文本的会议比喻进入。

房间ID,房间JID的局部部分,可能不透明,因此对于用户缺乏意义(请参阅业务规则中的语法);与房间名称对比。

房间JID,房间的地址。

房间名称,房间的用户友好自然语言名称,由房主配置并显示在服务发现查询中;与房间ID相对照。

0

我可以创建一个muc房间。但是,如果我在数据库中给出了现有的房间名称 ,服务器会拒绝它。因此,是否可以在ejabberd服务器(MYSQ1后端)中创建两个同名的房间? ?

不可以在ejabberd的主机中创建两个同名的房间(也可以按照XEP-45)。