Strophe XMPP 只接收具有完整 JID 的节



我正在创建一个Web XMPP客户端来连接到XMPP ejabberd服务器,我有以下问题:

  • 我的客户端可以正常发送消息。
  • 问题是当我尝试接收消息时。我只收到定向到我的完整 JID 的节,即包括我正在使用的资源,所以我没有收到定向到我user@domain的节,但我确实收到了发送到我的user@domain/资源的节。

这不是一个理想的情况,因为我需要与之通信的其他客户端使用裸 JID 工作。

我对Strophe的经验很少,所以也许有更多经验的人可以说明我做错了什么。提前感谢!

您是否检查过 xmpp 服务器是否提供了将消息路由到所有资源的设置?

OpenFire 提供了一个名为 route.all-resources 的属性,该属性会将消息转发到一个人的所有资源。

此外,您可能希望调整资源的优先级,因为只有具有最高优先级的资源才会向其发送消息(如果消息未指定资源)。

下面是使用 Strophe 将资源优先级设置为 10 的示例.js

connection.send($pres().c("priority").t("10"));

本文介绍了预期的行为,相关问题的回答也可以帮助您了解正在发生的事情。

最新更新