簡介:
成都創新互聯公司于2013年開始,是專業互聯網技術服務公司,擁有項目網站設計制作、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元分宜做網站,已為上家服務,為分宜各地企業和個人服務,聯系電話:18982081108
xmppFramework是一個基于RFC-3920的實現。支持多線程和線程保護(用了GCD),同時通用于所有的ios開發設備的通信框架。
介紹:
該框架主要分為兩部分----The xmpp core和The extensions (roster, XEP's,etc)
xmppcore是RFC-3920的實現。
xmppcore介紹:
這部分中包含:
XMPPStream
XMPPParser
XMPPJID
XMPPElement
XMPPIQ
XMPPMessage
XMPPPresence
XMPPModule
XMPPLogging
XMPPInternal
這些類。
xmppstream類是開發者主要打交道的類,這個中包含了連接服務器,用戶跟服務器的通信。
XMPPParser這個是一個內部類。主要用于解析。
XMPPJID這個用來標記用戶。其中包含用戶名和域名。
XMPPElement是XMPPIQ,XMPPMessage&XMPPPresence的基類。數據返回以后的處理。主要擴展實現了NSXMLElement,因此能查詢到所有xml的元素。
XMPPModule提供了可插拔的擴展。
Elements: IQ, Message, & Presence
這個是XMPPElement的擴展:
XMPPIQ -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject
XMPPMessage -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject
XMPPPresence -> XMPPElement -> NSXMLElement -> NSXMLNode -> NSObject
另外NSXMLElement+XMPP提供了一些策略方法,方便對這些信息進行處理,如提取消息中得某變量:[elementattributeIntValueForName:@"age"];
配置連接(以google郵件為例):
第一步:配置用戶的JID:
xmppStream.myJID=[XMPPJIDjidWithString:@"user@gmail.com"];
第二步:配置需要連接的服務器:
xmppStream.hostName=@"myCompany.com";也可以是ip地址:
xmppStream.hostName=@"192.168.2.27";xmpp會設置一個默認端口。(這步要是沒
有,xmpp自動 連接myjid的域名)。
添加代理:
xmpp使用的是多播代理:
添加代理:[xmppStreamaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];
刪除代理:[xmppStreamremoveDelegate:self];
添加模式
這個實現了插拔擴展。如連接斷了以后重連模式:
xmppReconnect=[[XMPPReconnect alloc]init];
[xmppReconnect activate:xmppStream];
xmppReconnectaddDelegate:selfdelegateQueue:dispatch_get_main_queue()];
網絡連接
NSError*error=nil;
if(![xmppStreamconnect:&error])
{
NSLog(@"Oops, I probably forgot something: %@",error);
}
認證
-(void)xmppStreamDidConnect:(XMPPStream*)sender
{
[xmppStreamauthenticateWithPassword:passworderror:NULL];
}
本文題目:xmppFramework
瀏覽地址:http://vcdvsql.cn/article32/gjsipc.html
成都網站建設公司_創新互聯,為您提供ChatGPT、網站建設、標簽優化、關鍵詞優化、軟件開發、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯