Xmpp ejabberd 2用户MUC与普通1对1聊天

Xmpp ejabberd 2用户MUC与普通1对1聊天,xmpp,ejabberd,muc,Xmpp,Ejabberd,Muc,我已经和ejabberd合作一段时间了,但是由于最近的一些问题和需求,我对一些事情很好奇 如果我创建了一个包含2个用户的MUC聊天室,它是否与正常的1对1聊天信息(性能方面)有所不同 如果我总是使用MUC进行所有1对1聊天,会发生什么 它是否有任何性能开销或缺点 我的连接是否会受到性能方面的影响,这通常会消耗更多的资源或施加任何类型的限制或处罚 任何帮助或见解都将不胜感激。是的,MUC有一个开销,这就是MUC流程管理本身。我不知道ejabberd是如何实现XMPP的,但从协议的角度来看: “正常

我已经和ejabberd合作一段时间了,但是由于最近的一些问题和需求,我对一些事情很好奇

如果我创建了一个包含2个用户的MUC聊天室,它是否与正常的1对1聊天信息(性能方面)有所不同

如果我总是使用MUC进行所有1对1聊天,会发生什么

它是否有任何性能开销或缺点

我的连接是否会受到性能方面的影响,这通常会消耗更多的资源或施加任何类型的限制或处罚


任何帮助或见解都将不胜感激。

是的,MUC有一个开销,这就是MUC流程管理本身。

我不知道ejabberd是如何实现XMPP的,但从协议的角度来看:

  • “正常”一对一聊天是无状态的服务器端聊天。客户端维护所有上下文(消息历史记录等)。服务器只是来回传递消息。另一方面,多用户聊天由服务器维护。资源(参和者列表、会议室设置、消息历史记录)必须存储在某个地方,这一责任在于服务器

  • 一对一的信息是“特别的”。当一方想要聊天时,他们只需向收件人发送一条消息。另一方面,在开始对话之前,必须创建和配置MUC,并且在对话开始之前,必须邀请另一方加入MUC室。这增加了复杂性和/或时间

  • 多用户聊天提供了更多的功能,但在一对一的对话中,这些功能是否有意义还存在争议(例如,将某人踢出对话是否有意义?)。另一方面,您可能必须正确配置聊天室,以便它们不可被发现(无法查看对话列表),第三方无法加入(除非被邀请加入),用户无法自由更改昵称等


  • 交叉帖子:&谢谢你的回复。我最初认为拥有多个2用户MUC是一个愚蠢的想法。我不确定您想要构建什么,但您可能希望查看将一对一聊天转换为MUC的选项,如XEP-0045规范中所定义。