iOS開發拓展篇-XMPP簡單介紹json
1、即時通信簡單介紹瀏覽器
一、簡單說明服務器
即時通信技術(IM)支持用戶在線實時交談。若是要發送一條信息,用戶須要打開一個小窗口,以便讓用戶及其朋友在其中輸入信息並讓交談雙方都看到交談的內容網絡
有許多的IM系統,如AOL IM、Yahoo IM、 MSN以及QQ,它們最大的區別在於各自通信協議的實現,因此即時通信技術的核心在於它的傳輸協議架構
協議用來講明信息在網絡上如何傳輸,若是有了統一的傳輸協議,那麼應當能夠實現各個IM之間的直接通信,爲了建立即時通信的統一標準,目前已經出現過的IM協議包括:IETF的對話初始協議(SIP)和即時通信對話初始協議和表示擴展協議(SIMPLE)、應用交換協議(APEX)、顯示和即時通信協議(PRIM)及基於XML且開放的可擴展通信和表示協議(XMPP)協議(常稱爲 Jabber 協議)框架
業界通過屢次努力,試圖統一各大主要IM供應商的標準(AOL、Yahoo 及 Microsoft),但無一成功,且每一種IM仍然繼續使用本身所擁有的協議工具
2.遵照XMPP即時通信協議
設計一款全世界都使用的即時通信協議,不管使用什麼即時通信軟件,均可以互聯互通。網站
3.即時通信在垂直社交中的意義spa
和第一代大而全的水平網站(又稱綜合性網站)不一樣,垂直網站注意力集中在某些特定的領域或某種特定的需求,提供有關這個領域或需求的所有深度信息和相關服務,做爲互聯網的新亮點,垂直網站正引發愈來愈多人的關注。在愈來愈多的網絡吸引老百姓的注意力時,網民卻逐漸走出時髦、好奇的初級階段,不斷在網上尋找着實際、實用和實惠。隨着移動互聯網應用的發展,如今愈來愈多的App正在向垂直應用遷移,垂直應用中同類用戶羣體之間的溝通,產生聚合就顯得尤其重要了,所以目前國內市場的XMPP應用開發的人才需求很是大操作系統
4.XMPP的起源
XMPP是基於XML的協議,用於即時消息(IM)以及在線現場探測。最初,XMPP做爲一個框架開發,目標是支持企業環境內的即時消息傳遞和聯機狀態應用程序。當時的即時消息傳遞網絡是私有的,不適合企業使用。XMPP前身是Jabber(1998年),是一個開源組織定義的網絡即時通訊協議
XMPP是一個分散型通訊網絡,這意味着,只要網絡基礎設施容許,任何XMPP用戶均可以向其餘任何XMPP用戶傳遞消息。多個XMPP服務器也能夠經過一個專門的「服務器-服務器」協議相互通訊,提供了建立分散型社交網絡和協做框架的可能性
儘管XMPP的出現是爲了知足「我的-我的」即時消息傳遞的要求,但它徹底沒必要侷限於此任務
2、XMPP相關
1.XMPP介紹
XMPP是一種基於XML的協議,它繼承了在XML環境中靈活的發展性。這代表XMPP是可擴展的。能夠經過發送擴展的信息來處理用戶的需求,以及在 XMPP的頂端創建如內容發佈系統和基於地址的服務等應用程序。並且,XMPP包含了針對服務器端的軟件協議,使之能與另外一個進行通話,這使得開發者更容易創建客戶應用程序或給一個配置好的系統添加功能
XMPP的核心XML流傳輸協議的定義使得XMPP可以在一個比以往網絡通訊協議更規範的平臺上。藉助於XML易於解析和閱讀的特性,使得XMPP的協議可以很是漂亮
XMPP的即時通信擴展應用部分是根據IETF在這以前對即時通信的一個抽象定義的,與其餘業已獲得普遍使用的即時通信協議,諸如AIM,QQ等有功能完整,完善等先進性
XMPP的擴展協議Jingle使得其支持語音和視頻,目前iOS尚不支持
XMPP的官方文檔是RFC 3920
XMPP協議曾經是Google力推的即時通訊協議,其表明做品是GTalk。
注意:相對xml,json更高效一些。
2.Google Talk說明
Google Talk是Google的IM工具,除了具備IM功能外,另外還加上了Voip功能,「界面清新大方」,可直接連接Gmail,接受查看郵件。因爲Google Talk是基於Jabber開源標準,這種標準容許用戶和其它的即時訊息系統相連,好比蘋果電腦的iChat,GAIM,Trillian Pro以及Psi。Google Talk只可以在Windows平臺上運行。Google Talk的用戶沒法使用這種軟件與AIM,MSN Messenger或者雅虎Messenger的用戶進行互通。
2013年5月,在Google I/O大會上,Google推出統一跨平臺聊天應用Hangouts(環聊)取代Google Talk。Google Hangouts不支持XMPP協議。Google Hangouts用戶與非Google服務如XMPP協議的強有力支持者jabber.org之間的交流沒法進行。
目前,Google Wave是基於XMPP協議的,而且Google還開發Jingle擴展進行基於XMPP協議的視頻聊天。儘管Google還沒有宣佈Talk的關閉日期,不過從Google關閉Reader和iCal支持來看,Talk關閉之日不會太遠
3.XMPP定義
XMPP:The Extensible Messaging and Presence Protocol(可擴展通信和表示協議)
XMPP可用於服務類實時通信、表示和需求響應服務中的XML數據元流式傳輸。XMPP以Jabber協議爲基礎,而Jabber是即時通信中經常使用的開放式協議
XMPP是基於XML的協議,用於即時消息(IM)以及在線現場探測。促進服務器之間的準即時操做。這個協議可能最終容許因特網用戶向因特網上的其餘任何人發送即時消息,即便其操做系統和瀏覽器不一樣
4.基本結構
XMPP是一個典型的C/S架構,而不是像大多數即時通信軟件同樣,使用P2P客戶端到客戶端的架構,也就是說在大多數狀況下,當兩個客戶端進行通信時, 他們的消息都是經過服務器傳遞的。採用這種架構,主要是爲了簡化客戶端,將大多數工做放在服務器端進行
XMPP中定義了三個角色,客戶端,服務器,網關。通訊可以在這三者的任意兩個之間雙向發生
服務器同時承擔了客戶端信息記錄,鏈接管理和信息的路由功能。 網關承擔着與異構即時通訊系統的互聯互通,異構系統能夠包括SMS(短信),MSN,ICQ等
基本的網絡形式是單客戶端經過TCP/IP鏈接到單服務器,而後在之上傳輸XML流