【问题标题】:Why presence stanza is rejected when there is no "to" attribute为什么没有“to”属性时存在节被拒绝
【发布时间】:2012-11-26 08:45:19
【问题描述】:

至于XMPP documentation (Example 10)这种节应该是有效的:

<presence from="support@im.server.com" />

但是 ejabberd 回复 400 响应。这里的原因是缺少“to”字段。我想知道为什么会这样。 Based on a XML schema of a XEP-0114 analysis 我猜是因为 support@im.server.com 是一个外部组件。

有人可以确认我是对还是错,或者提出如何克服这种情况的建议?

XMPP 服务器:ejabberd 2.1.5。

【问题讨论】:

  • 你有没有尝试向 ejabbered 开发人员询问这个问题?

标签: xmpp ejabberd


【解决方案1】:

您提到的示例 10 向客户端发送用户存在并包含资源。所以这是服务器 => 客户端。

如果我理解你的正确,你将这个存在从你的组件发送到服务器(组件=>服务器)。如果没有地址,服务器无法将此状态路由到另一个实体。

【讨论】:

  • 确实,我试图将节从组件发送到服务器,并期望服务器将其广播给我组件的所有订阅者。发生这种情况是 0114 的 xml 模式不允许的。至于 RFC6120 第 8.2.2 节 (tools.ietf.org/html/rfc6120#section-8.2.2) 没有“to”属性的存在节必须广播给“from”的所有订阅者。因此,我希望我的节会被广播。但是,这仅适用于客户端-服务器通信,而不适用于组件-服务器。虽然组件 jid (support@im.server.com) 有订阅者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-06
  • 1970-01-01
  • 2021-07-14
  • 2022-01-23
  • 2022-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多