xmppFramework

簡(jiǎn)介:

成都創(chuàng)新互聯(lián)公司于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元分宜做網(wǎng)站,已為上家服務(wù),為分宜各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

       xmppFramework是一個(gè)基于RFC-3920的實(shí)現(xiàn)。支持多線程和線程保護(hù)(用了GCD),同時(shí)通用于所有的ios開發(fā)設(shè)備的通信框架。

介紹:

       該框架主要分為兩部分----The xmpp core和The extensions (roster, XEP's,etc)

        xmppcore是RFC-3920的實(shí)現(xiàn)。

xmppcore介紹:

         這部分中包含:      

    • XMPPStream

    • XMPPParser

    • XMPPJID

    • XMPPElement

    • XMPPIQ

    • XMPPMessage

    • XMPPPresence

    • XMPPModule

    • XMPPLogging

    • XMPPInternal

      這些類。

xmppstream類是開發(fā)者主要打交道的類,這個(gè)中包含了連接服務(wù)器,用戶跟服務(wù)器的通信。

XMPPParser這個(gè)是一個(gè)內(nèi)部類。主要用于解析。

XMPPJID這個(gè)用來(lái)標(biāo)記用戶。其中包含用戶名和域名。

XMPPElement是XMPPIQ,XMPPMessage&XMPPPresence的基類。數(shù)據(jù)返回以后的處理。主要擴(kuò)展實(shí)現(xiàn)了NSXMLElement,因此能查詢到所有xml的元素。

XMPPModule提供了可插拔的擴(kuò)展。

Elements: IQ, Message, & Presence

   這個(gè)是XMPPElement的擴(kuò)展:

  •  XMPPIQ -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

  •  XMPPMessage -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

  •  XMPPPresence -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject

另外NSXMLElement+XMPP提供了一些策略方法,方便對(duì)這些信息進(jìn)行處理,如提取消息中得某變量:[elementattributeIntValueForName:@"age"];

XMPPStream 的配置

配置連接(以google郵件為例):

   第一步:配置用戶的JID:

           xmppStream.myJID=[XMPPJIDjidWithString:@"user@gmail.com"];

   第二步:配置需要連接的服務(wù)器:

           xmppStream.hostName=@"myCompany.com";也可以是ip地址:

           xmppStream.hostName=@"192.168.2.27";xmpp會(huì)設(shè)置一個(gè)默認(rèn)端口。(這步要是沒(méi)        

           有,xmpp自動(dòng) 連接myjid的域名)。

添加代理:

   xmpp使用的是多播代理:

       添加代理:[xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];

       刪除代理:[xmppStreamremoveDelegate:self];

添加模式

       這個(gè)實(shí)現(xiàn)了插拔擴(kuò)展。如連接斷了以后重連模式:

       xmppReconnect=[[XMPPReconnect alloc]init];

       [xmppReconnect activate:xmppStream];

       xmppReconnectaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];

網(wǎng)絡(luò)連接

       NSError*error=nil;

       if(![xmppStreamconnect:&error])

       {

           NSLog(@"Oops, I probably forgot something: %@",error);

       }

認(rèn)證

       -(void)xmppStreamDidConnect:(XMPPStream*)sender

       {

           [xmppStreamauthenticateWithPassword:passworderror:NULL];

       }

       

本文題目:xmppFramework
瀏覽地址:http://muchs.cn/article32/gjsipc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、軟件開發(fā)自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作