XMPP通訊學習服務器
http://blog.csdn.net/kangx6/article/details/7744304微信
在這個網站上發現了一個關於XMPP的教程,很好很強大。雖然我本身沒有組建服務器,可是經過對它的學習,大概掌握了它的過程。app
首先是下載XMPPFramework 這個第三方,按照連接的教程導入,也能夠下載它的demo 若是沒找到,評論會給出demo的地址學習
本文按照demo的xun'xu'an循序講網站
導入XMPPFramework 後 要先肯定和host主機連接上了,而後才能收發信息,-.net
- (void)xmppStreamDidConnect:(XMPPStream *)sender代理
連接服務器blog
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender 服務器驗證信息教程
-(BOOL)connect;肯定連接上服務器table
當肯定連接上服務器以後,就會有別的方法
- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message 收到信息
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence 收到好友狀態
固然,這中間有不少消息和方法,這裏並無寫完,好比給好友發信息,就沒有實現,可是能夠根據收信息的模式進行理解
-(void)disconnect 是斷開服務器
這樣就造成了一個簡單地xmpp地流程
可是怎麼和用戶界面實現鏈接呢,也就是實現一個相似的微信通話的功能
這裏用到了兩個tableview界面來實現這樣的功能,一個是好友tableview 另外一個是通話tableview
那怎麼實現好友tableview和xmpp進行關聯呢,這裏就要使用代理來進行它們之間的溝通,由於在刷新好友界面也就是KKViewController 須要去調用xmpp 的鏈接,而後xmpp獲得好友列表數據,而後xmpp所在的appdelegate,獲得該數據以後再把這些數據傳輸給KKViewController 這個界面,這樣一來 就可使用代理的方法來實現這樣的功能,(若是不理解代理,請在網上找到相關方面的教程),好友發送信息於刷新好友的理解相似,這樣就能實現xmpp的基本功能,怎麼樣,是否是很簡單呢,固然了,一款功能完善的IM通訊,確定不僅這些,可是萬事開頭難,當你會了開頭,相信剩下的就難不倒你了。