【发布时间】:2014-06-08 02:31:00
【问题描述】:
我创建了一个 IM 应用程序,它使用 asmack 连接到各种 xmpp 协议,例如 google talk 和 facebook。
在 Wifi/数据之间切换或完全失去信号时,有时会丢失一些消息(发送和接收的消息)。当应用程序设法重新连接时,有什么方法可以检索该特定协议的最后接收消息?我发现自己必须经常检查默认消息应用程序,以查看在我断开连接时是否有任何消息。
另外,如何在发送消息时获得交付确认?
谢谢!
【问题讨论】:
我创建了一个 IM 应用程序,它使用 asmack 连接到各种 xmpp 协议,例如 google talk 和 facebook。
在 Wifi/数据之间切换或完全失去信号时,有时会丢失一些消息(发送和接收的消息)。当应用程序设法重新连接时,有什么方法可以检索该特定协议的最后接收消息?我发现自己必须经常检查默认消息应用程序,以查看在我断开连接时是否有任何消息。
另外,如何在发送消息时获得交付确认?
谢谢!
【问题讨论】:
如果您使用支持XEP-0136: Message Archiving或XEP-0313: Message Archive Management的服务器,您将能够获取之前发送的所有消息。
但是,Google Talk 和 Facebook Chat 都没有实现这些,而且 afaik 他们也没有替代的 XMPP API。
【讨论】: