当其中一位用户“离线”时,我在聊天中传递消息时遇到问题。当初始化一对一聊天并且两个用户正在聊天时,正在传递消息并且一切正常,但是当其中一个用户的应用程序进入后台时,另一个用户继续发送消息。看起来消息正在发送,保存到历史记录和缓存中(我记录它),但是当其他用户重新联机并检索历史记录时 - 这些消息不会出现。
在日志中,我看到它们在应用程序重新启动后出现延迟:
2013-03-13 01:14:42.983 MyApp[2314:1103]
QBChat/xmppStreamDidReceiveMessage:
<message xmlns="jabber:client" id="0" type="chat" from="XXXXX-XXXX@chat.quickblox.com"
to="XXXXXX-XXXX@chat.quickblox.com">
<body>I try again</body>
<delay xmlns="urn:xmpp:delay" from="chat.quickblox.com" stamp="2013-03-13T07:58:14.455+0000">
整个消息传递过程是使用 SimpleSample 聊天中的代码构建的(另外,我还没有使用推送通知)。
你能在这个问题上给我一些建议吗?
谢谢你。
更新:重新安装应用程序后,不会检索与用户的消息历史记录,这意味着,我猜,我所说的历史记录存储在缓存中。好像我在从服务器检索历史记录时遇到问题。我在“ChatDidReceiveMessage”中尝试了“message.delayed = 1”,但没有帮助。