美文网首页iOS网络IOS收藏
iOS XMPP——自动连接

iOS XMPP——自动连接

作者: iOS_成才录 | 来源:发表于2015-11-12 19:29 被阅读571次

    自动连接的作用:

    • 如果出现意外断线,XMPPReconnect会自动重新连接到XMPP服务器

    实现自动连接的步骤:

    • 1、找到XMPPFramework.h头文件,添加下列代码,打开xmpp的自动连接扩展模块
    // 自动连接模块
    #import "XMPPReconnect.h"
    
    • 2、在AppDelegate.m文件的JPAppDelegate类扩展中,加入一个XMPPReconnect类型的属性以及两个方法下列代码:
    @interface JPAppDelegate()<XMPPStreamDelegate>{
           
      // 自动连接模块
        XMPPReconnect *_reconnect;
        
        XMPPResultBlock _resultBlock;
    }
    
    //释放资源
    - (void)teardownXmppstream;
    
    
    • 3、修改setupXmppStream方法:如下:
    #pragma mark 初始化xmppStrem对象
    -(void)setupXmppStream{
        
        NSAssert(_xmppStream == nil, @"xmppStream对象初始化多次");
        
        //1. 创建xmppStrem对象
        _xmppStream = [[XMPPStream alloc] init];
        //2. 添加代表
        [_xmppStream addDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
    
    /**                加入下列代码         **/
        
        //3. 添加自动连接模块
        _reconnect = [[XMPPReconnect alloc] init];
        //激活
        [_reconnect activate:_xmppStream];
    }
    
    • 4、需要我们手动释放资源
    #pragma mark 释放资源
    -(void)teardownXmppstream{
        //移动代理
        [_xmppStream removeDelegate:self];
        
        //停止模块
        //停止自动连接模块
        [_reconnect deactivate];
      
        //断开连接
        [_xmppStream disconnect];
        
        //清空资源为nil
        _xmppStream = nil;
        _reconnect = nil;
    }
    

    相关文章

      网友评论

      本文标题:iOS XMPP——自动连接

      本文链接:https://www.haomeiwen.com/subject/chmchttx.html