iOS開發之使用XMPPFramework實現即時通訊(一),iosxmppframework

來源:互聯網
上載者:User

iOS開發之使用XMPPFramework實現即時通訊(一),iosxmppframework

  關於XMPP的理論介紹在本篇部落格中就不做贅述了,如何在我們之前的中加入XMPP協議來實現通訊呢?下面將會介紹一下XMPP的基本的知識,讓我們的可以實現互聯通訊。要做的準備工作是要有伺服器支援XMPP協議,然後通過spark註冊個測試帳號,最後就可以通過XMPP用我們已有的帳號和密碼進行通訊啦。至於如何使伺服器支援XMPP協議,如何通過Spark註冊帳號,不是本篇部落格的論述主題,本篇部落格中主要是如何在我們的App中使用XMPP協議。

  今天的部落格中的內容是如何在工程中引入XMPPFramework,並在App上可以串連並認證我們的賬戶和密碼,好啦,廢話少說,切入今天的正題。

  一.XMPPFramework的引入

    1.使用XMPP當然少不了架構的匯入,還是用CocoaPods來管理第三方類庫,在對應的工程中用CocoaPods引入XMPPFramework, 在Profile中添加相應版本的XMPPFramework架構,然後pod update一下安裝即可,終端如下:

1 //XMPP資料流2 @property (strong, nonatomic) XMPPStream * xmppStream;3 4 5 //建立xmppstream6 self.xmppStream = [[XMPPStream alloc]init];

 

    2.在使用XMPPFramework時,因為其用到是委託回調,所以要在相應的Controller中實現XMPPStreamDelegate協議,然後實現協議中相應的方法。

      (1).在使用XMPPStream的Controller中通過Application的delegate擷取我們上面建立的xmppStream執行個體,代碼如下:

1     //擷取應用的xmppSteam(通過Application中的單例擷取)2     UIApplication *application = [UIApplication sharedApplication];3     id delegate = [application delegate];4     self.xmppStream = [delegate xmppStream];5     6     //註冊回調7     [self.xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()];

 

     (2)擷取XMPP流以後,就可以串連伺服器了,串連伺服器分為三部分,先拼接XMPPJID, 然後把JID添加到xmppStream中,最後串連。代碼如下:

 1 //串連伺服器 2 -(void) xmppConnect 3 { 4     //1.建立JID 5     XMPPJID *jid = [XMPPJID jidWithUser:@"lizelusdut" domain:MY_DOMAIN resource:@"iPhone"]; 6      7     //2.把JID添加到xmppSteam中 8     [self.xmppStream setMyJID:jid]; 9     10     //串連伺服器11     NSError *error = nil;12     [self.xmppStream connectWithTimeout:10 error:&error];13     if (error) {14         NSLog(@"串連出錯:%@",[error localizedDescription]);15     }16 }

 

    (3)實現串連伺服器後要回調的方法(串連後要認證使用者密碼),代碼如下

 1 //串連後的回調 2 -(void)xmppStreamDidConnect:(XMPPStream *)sender 3 { 4     //串連成功後認證使用者名稱和密碼 5     NSError *error = nil; 6     [self.xmppStream authenticateWithPassword:@"!@#admin" error:&error]; 7     if (error) { 8         NSLog(@"認證錯誤:%@",[error localizedDescription]); 9     }10 }

 

    (4)實現認證成功後要回調的方法,代碼如下:

//認證成功後的回調-(void)xmppStreamDidAuthenticate:(XMPPStream *)sender{    NSLog(@"登陸成功");}

 

    (5)認證失敗後要調用的方法,代碼如下:

1 //認證成功後的回調2 -(void)xmppStream:sender didNotAuthenticate:(DDXMLElement *)error
3 {
4 NSLog(@"登陸失敗");
5 }

 

  個人感覺部落格長篇大論不利於別人攝取自己要用的知識,所以今天的部落格先就這麼長吧,今天是串連伺服器並認證使用者身份。以後會繼續更新部落格的內容,直到兩個APP之間可以通訊為止,希望大家繼續關注。

 


iOS開發:怎實現用一個密碼對指定的明文加密?最好是DES或者AES的有什Framework

你可以實用ios系統內建的加密方法。引用:
#import <CommonCrypto/CommonDigest.h>
詳細:www.cnblogs.com/...4.html

提問容易,回答不易,且問且採納!
 
matlab2010b 若要運行此應用程式,您必須首先安裝NET Framework以下版本之一 v4030319

去微軟官網下載NET Framework,其他網站也有。安裝起就行了
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.