我正在尝试使用XMPP开发一个消息传递应用程序。我试图在每个用户的多个设备上实现聊天同步。但是,我只能在日志记录的设备或第一个登录的脱机设备上获取消息。不同的设备使用不同的资源,因此完整的jabber id是不同的。假设是,
我已经有信息副本和存档启用。有没有办法在B的另一个设备上得到这些信息?
谢谢你,普奈
发布于 2016-09-05 19:00:04
从服务器检索将解决问题的归档消息。您可以使用自定义IQ从服务器获取归档消息。和遵循这种格式的定制智商。
发布于 2018-08-23 06:43:50
为了参与即时消息传递和存在活动,客户端(即设备)应该在服务器上建立会话。
如XMPP文档中所示
如果已经有同名的活动资源,服务器必须(1)终止活动资源并允许新请求的会话,或者(2)不允许新请求的会话并维护活动资源。这些服务器中的哪一个取决于实现,尽管建议实现case #1。在案例1中,服务器应该向活动资源发送流错误,终止XML流和活动资源的底层TCP连接,并向新请求的会话返回类型为“resource”(表示成功)的IQ节。在第二种情况下,服务器应该向新请求的会话发送一个节错误,但是维护该连接的XML流,以便新请求的会话在发送另一个会话请求之前有机会协商一个不冲突的资源标识符。
(https://www.rfc-editor.org/rfc/rfc6120#section-7.7.2.2)
但是,如果仍然希望使用多个会话,则可以使用Management XEP-0313
https://stackoverflow.com/questions/30019188
复制相似问题