gpt4 book ai didi

android - 使用 aSmack 丢失消息

转载 作者:太空宇宙 更新时间:2023-11-03 12:41:54 25 4
gpt4 key购买 nike

我在我的 Android 应用程序中使用 aSmack 来接收来 self 的 Desktop-Jabber-client 的消息。这工作正常,即使我的 android 手机处于离线状态(连接正确关闭后),它也会在下次登录后收到离线消息。

但是当我在手机上进入飞行模式或关闭手机时,连接突然关闭(没有在 Connection 对象上调用 disconnect() ) 电话在我的 Desktop-Jabber-client 的联系人列表中保持“在线”一段时间,我可以向它发送消息。然而,这些消息永远不会到达。即使手机再次登录服务器。这些消息丢失了。

有人知道如何解决这个问题吗?在聊天中丢失消息是不可取的。 :)

编辑:添加测试代码
广播接收器:http://pastebin.com/cFLzGXgy
客服:http://pastebin.com/wLpQCQfT

第一个是每次手机连接到网络时启动服务(第二个 URL)的 BroadcastReceiver。

PS:这只是一个测试代码!如果您想使用/测试它,您必须更改服务器/用户名/密码。

最佳答案

您可以尝试在消息到达时从客户端b 发送已传递的消息给客户端A。问题是如果客户端 A 处于离线状态(没有连接中断),则在用户收到消息之前,传递的确认不会发送,并且客户端 B 无法重新发送消息。

关于android - 使用 aSmack 丢失消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com