相关疑难解决方法(0)

如何在Android上保持XMPP连接稳定(a)smack?

我使用Android的asmack-android-7-beem库.我有一个后台服务正在运行,例如我的应用程序保持活动状态.但迟早XMPP连接会在没有任何通知的情况下死亡.服务器说客户端仍然在线,但没有发送或接收数据包.

例如,当其他客户端具有新的存在时,客户端不接收任何存在分组.我有XMPPConnection作为我的主要Application类的一个属性.
ConnectionConfiguration config.setReconnectionAllowed(true)在连接之前设置了.
但重新连接不会发生.XMPPConnection connection.isConnected()返回true.

因此客户端不知道连接实际上已丢失.

有没有办法保持连接活着?

connection android xmpp smack

26
推荐指数
2
解决办法
2万
查看次数

在Android上保持XMPP连接(使用asmack)

我正在开发一个通过XMPP接收推送通知的应用程序(我知道C2DM,但它有一些限制,我不能因为它而使用),问题是连接一段时间后被垃圾收集而且我不能向Android设备发送推送通知.

我想我需要实现一个Android服务,但我不知道如何实现一个能保持连接活动的服务.有人可以帮帮我吗?

android xmpp push keep-alive smack

12
推荐指数
1
解决办法
9803
查看次数

如何在Android中创建服务与XMPP服务器保持持久的Xmpp连接?

在Internet上搜索了很多之后我们得出了一个结论,为了确保与XMPP服务器保持连接,我们必须创建一个服务,

我们已经创建了一个使用Smack库连接XMPP服务器,并且它可以与移动和Wi-Fi网络一起使用.

每次你做出一些设计方法总是很重要!!!,Smack已经隐藏地实现了这个重新连接机制,在那里监听连接,如果连接丢失,Smack会尝试在某个时间间隔重新连接XMPP服务器.

我们的用例场景::
INTERNET连接可以是因为wifi或数据网络,这里如果连接转是空闲状态有人关闭屏幕cpu进入睡眠现在任何数据都发送到服务器上这个连接将没有响应,因为服务器不再是在监听客户端,在客户端XMPP连接已经处于连接模式,连接监听器没有检测到与服务器的任何断开连接,所以这里流程完成了.

在INTERNET上搜索后,我们发现解决这个问题的可能解决方法是在修复后ping服务器(我们使用1分钟作为修复周期),检测到ping失败后,我们实现了与smack相同的重新连接机制(从Smack重新连接机制中获取的想法)本身)通过利用计时器任务.

问题::我们唯一的问题是电池耗尽,如果用户仍然与INTERNET连接并且重新连接间隔增加,它将耗尽电池.

1).上述问题的可能解决方案是什么?

2).我们应该采取另一种方法吗?

android xmpp asmack

6
推荐指数
1
解决办法
2091
查看次数

标签 统计

android ×3

xmpp ×3

smack ×2

asmack ×1

connection ×1

keep-alive ×1

push ×1