android xmpp开发 asmack实现断线自动重连
16lz
2021-01-26
http://blog.csdn.net/ming_light/article/category/1531703
asmack本身封装了断线重连机制,但是有一点需要注意
在设置链接属性钱,要加载ReconnectionManager这个类,否则没有效果。
直接上代码:
第一步
[java] view plain copy
- try {
- Class.forName("org.jivesoftware.smack.ReconnectionManager");
- } catch (Exception e1) {
- }
第二步 设置链接参数,启动重连功能
[java] view plain copy
- ConnectionConfiguration configuration = new ConnectionConfiguration(
- Contents.HOST, Contents.PORT);
- configuration.setReconnectionAllowed(true);
第三步 链接后注册监听
[java] view plain copy
- connection.connect();
- if (connection.isConnected()) {
- connection.addConnectionListener(connectionListener);
- }
- public static ConnectionListener connectionListener = new ConnectionListener() {
- @Override
- public void reconnectionSuccessful() {
- Log.i("connection", "reconnectionSuccessful");
- }
- @Override
- public void reconnectionFailed(Exception arg0) {
- Log.i("connection", "reconnectionFailed");
- }
- @Override
- public void reconnectingIn(int arg0) {
- Log.i("connection", "reconnectingIn");
- }
- @Override
- public void connectionClosedOnError(Exception arg0) {
- Log.i("connection", "connectionClosedOnError");
- }
更多相关文章
- android系统属性获取及设置
- Android(安卓)多次点击的另一种思路
- Android实现标题显示隐藏功能
- [置顶] Android中遇到的需求与解决方案一
- android 中如何监听耳机键消息
- [转]Android中Spannable的使用
- Android(安卓)Studio通过配置build.gradle参数设置全局的Log开关
- android 8.0 (API=26) 升级适配遇到的两个问题
- Android(安卓)如何设置默认语言