xmppframework for iOS client(五) 添加AutoPing

來源:互聯網
上載者:User

為了監聽伺服器是否有效,增加心跳監聽。用XEP-0199協議,在XMPPFrameWork架構下,封裝了 XMPPAutoPing 和 XMPPPing兩個類都可以使用,因為XMPPAutoPing已經組合進了XMPPPing類,所以XMPPAutoPing使用起來更方便。

首先,匯入標頭檔 

#import "XMPPAutoPing.h"

聲明成員變數和屬性

@interface XMPPConnectManeger : NSObject<XMPPAutoPingDelegate>

{

     XMPPAutoPing *_xmppAutoPing;

}

@property  (nonatomic, retain) XMPPAutoPing *xmppAutoPing;

在實現檔案中

@synthesize xmppStream = _xmppStream;

@synthesize xmppAutoPing = _xmppAutoPing;

//初始化並啟動ping

-(void)autoPingProxyServer:(NSString*)strProxyServer

{

    _xmppAutoPing = [[XMPPAutoPingalloc] init];

    [_xmppAutoPingactivate:_xmppStream];

    [_xmppAutoPingaddDelegate:selfdelegateQueue:  dispatch_get_main_queue()];

    _xmppAutoPing.respondsToQueries = YES;

    _xmppAutoPing.pingInterval=2;//ping 間隔時間

    if (nil != strProxyServer)

    {

       _xmppAutoPing.targetJID = [XMPPJID jidWithString: strProxyServer ];//設定ping目標伺服器,如果為nil,則監聽socketstream當前串連上的那個伺服器

    }

}

//卸載監聽

 [_xmppAutoPing   deactivate];

  [_xmppAutoPing   removeDelegate:self];

   _xmppAutoPing = nil;

//ping XMPPAutoPingDelegate的委託方法:

- (void)xmppAutoPingDidSendPing:(XMPPAutoPing *)sender

{

    NSLog(@"- (void)xmppAutoPingDidSendPing:(XMPPAutoPing *)sender");

}

- (void)xmppAutoPingDidReceivePong:(XMPPAutoPing *)sender

{

    NSLog(@"- (void)xmppAutoPingDidReceivePong:(XMPPAutoPing *)sender");

}

 

- (void)xmppAutoPingDidTimeout:(XMPPAutoPing *)sender

{

    NSLog(@"- (void)xmppAutoPingDidTimeout:(XMPPAutoPing *)sender");

}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.