我有一个 Windows XMPP 客户端 - PSI 和一个 android 客户端 - IMO。我连接到同一个自定义服务器,使用两个不同的资源(桌面上的主机名,不知道 IMO 使用什么作为资源)。当有人向我发送消息时,只有桌面客户端能够接收它。Android客户端只能发送。
在客户端中配置什么才能同时在两个客户端上接收消息?
我有一个 Windows XMPP 客户端 - PSI 和一个 android 客户端 - IMO。我连接到同一个自定义服务器,使用两个不同的资源(桌面上的主机名,不知道 IMO 使用什么作为资源)。当有人向我发送消息时,只有桌面客户端能够接收它。Android客户端只能发送。
在客户端中配置什么才能同时在两个客户端上接收消息?
弄清楚了。XMPP 协议具有分配给资源的优先级。请参阅http://xmpp.org/rfcs/rfc3921.html#rules中的 11.1 。有效范围是 -127 .. +128
IMO 发送优先级 1(至少在我的版本中)。将 PSI 中的优先级设置为 -120 使我的电话客户端始终收到消息。我将使用优先级来利用降低优先级的自动离开功能。
如果您在 Openfire 服务器上拥有管理员权限,将系统属性“route.all-resources”设置为“true”应该允许所有连接的客户端接收发送到 Jabber ID 的消息。这在我的情况下有效。