0

当其中一位用户“离线”时,我在聊天中传递消息时遇到问题。当初始化一对一聊天并且两个用户正在聊天时,正在传递消息并且一切正常,但是当其中一个用户的应用程序进入后台时,另一个用户继续发送消息。看起来消息正在发送,保存到历史记录和缓存中(我记录它),但是当其他用户重新联机并检索历史记录时 - 这些消息不会出现。

在日志中,我看到它们在应用程序重新启动后出现延迟:

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”,但没有帮助。

4

1 回答 1

1

进入后台时必须退出聊天,进入前台时必须重新登录。

在这种情况下,您的消息将可以正常接收

于 2013-03-14T11:50:11.133 回答