当其中一个用户“离线”时,我在聊天时发送邮件时遇到问题。 当初始化一对一聊天并且两个用户正在聊天时,正在传递消息并且一切都很好,但是当其中一个用户的应用程序进入后台时,另一个用户保持消息传递。它看起来像正在发送消息,保存到历史记录和缓存中(我记录它),但当其他用户重新上线并检索历史记录时 - 这些消息不会出现。
在日志中,我看到他们在应用重新启动后出现延迟:
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',但它没有帮助。
答案 0 :(得分:1)
当您转到后台时,您必须从聊天中退出,并在前往前台时再次登录。
在这种情况下,您的邮件将被收到