【问题标题】:Is it possible JIDs with only different resources joining same multi-user chat room是否有可能只有不同资源的 JID 加入同一个多用户聊天室
【发布时间】:2012-04-02 13:46:42
【问题描述】:

在xmpp中,以下2个用户可以加入多用户聊天(MUC)还是订阅同一个pub-sub节点?

public@service.com/user1 public@service.com/user2

【问题讨论】:

标签: xmpp chatroom


【解决方案1】:

当加入匿名 MUC 房间时,其他人不知道房间中其他人的“真实”JID 的房间,连接用户提供自己的 JID。

当加入一个非匿名房间时,用户提供他们的完整 JID,然后将其传输给所有居住者。

在任何一种情况下,都没有什么可以阻止用户使用相同的裸 JID 但不同的资源加入。有关 MUC 协议的更多详细信息,特别是关于加入房间的信息,请参阅 XEP-0045: Basic MUC Protocol

通过 pub-sub 订阅时,客户端可以在订阅时提供完整的 JID 或裸 JID(无资源)。详情请见the pub-sub XEP, XEP-0060

【讨论】:

  • 谢谢大家!另外,如果您想对此发表评论:我实际上想为多个站点用户使用单个 jabber 用户,我认为这将减少 XMPP 服务器上的负载,因为我只需要登录一个 jabber 用户.. 站点用户将是使用不同的资源相互发送消息。你认为我接近它是对的吗?
【解决方案2】:

在大多数 MUC 实现中,您必须为每个资源使用不同的 昵称 加入房间。如果您对第二个资源使用相同的昵称,您很可能会收到 conflict 错误。

【讨论】:

  • 但这真的取决于服务器。例如,Prosody 允许您使用来自不同资源的相同昵称。
  • @Zash 还是这样吗?在对话中,我收到“尼克已在使用”错误。也许这是由于对话客户端检查所致? (加吉姆也一样)
猜你喜欢
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2023-03-10
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 2021-09-10
相关资源
最近更新 更多