我们使用带有BOSH和Openfire(3.8.2)的http-bind
作为聊天应用程序的后端,并在前端使用Strophe库(JS)。
每个用户通过连接获得指定的唯一资源。这意味着,用户可以同时登录到不同的设备/浏览器(多个连接,例如user@example.com/resource1
、user@example.com/resource2
等)。理想情况下,我们希望将消息发送到所有连接的资源。
我们设置了route.all-resources setting="true"
,所有用户资源的连接优先级都相等,但行为根本没有改变(聊天消息只接收到最后一个连接的用户资源)。
有人能提出解决这个问题的方案或想法吗?
感谢
您可能需要route.all-resources
或route.really-all-resources
route.really-all-resources
=true
将向具有非负优先级的所有会话发送消息route.all-resources
=true
将向共享最高非负优先级的所有会话发送消息
此的来源位于https://github.com/igniterealtime/Openfire/blob/master/src/java/org/jivesoftware/openfire/spi/RoutingTableImpl.java#L567