本文介紹xmpp協議原理及相關資訊。
xmpp協議簡介
xmpp(extensible messageing and presence protocol:可擴充套件訊息與存在協議)是目前主流的四種im(im:instant messaging,即時訊息)協議之一,其他三種分別為:即時資訊和空間協議(impp)、空間和即時資訊協議(prim)、針對即時通訊和空間平衡擴充的程序開始協議sip(******)。
在這四種協議中,xmpp是最靈活的。xmpp是一種基於xml的協議,它繼承了在xml環境中靈活的發展性。因此,基於xmpp的應用具有超強的可擴充套件性。經過擴充套件以後的xmpp可以通過傳送擴充套件的資訊來處理使用者的需求,以及在xmpp的頂端建立如內容發布系統和基於位址的服務等應用程 序。而且,xmpp包含了針對伺服器端的軟體協議,使之能與另乙個進行通話,這使得開發者更容易建立客戶應用程式或給乙個配好系統新增功能。
1. 什麼是xmpp ?
2. xmpp的基本網路結構是怎樣的?
xmpp中定義了三個角色,客戶端,伺服器,閘道器。通訊能夠在這三者的任意兩個之間雙向發生。伺服器同時承擔了客戶端資訊記錄,連線管理和資訊的路由功能。閘道器承擔著與異構即時通訊系統的互聯互通,異構系統可以包括sms(簡訊),msn,icq等。基本的網路形式是單客戶端通過tcp/ip連線到單伺服器,然後在之上傳輸xml。
3. xmpp通過tcp傳什麼了?
xmpp協議工作原理:
5. xmpp訊息格式:
6. 核心的xml流傳輸協議
基於xml freeeim流傳輸的即時通訊擴充套件應用
xmpp的核心xml流傳輸協議的定義使得xmpp能夠在乙個比以往網路通訊協議更規範的平台上。借助於xml易於解析和閱讀的特性,使得xmpp的協議能夠非常漂亮。
xmpp的即時通訊擴充套件應用部分是根據ietf在這之前對即時通訊的乙個抽象定義的,與其他業已得到廣泛使用的即時通訊協議,諸如aim,qq等有功能完整,完善等先進性。
xmpp的官方文件時rfc 3920.
7. xmpp應用示例
舉個例子看看所謂的xml流是什麼樣子的?
客戶端:<?xml version='1.0'?>
伺服器:<?xml version='1.0'?>
...其他通訊...
客戶端:
to='romeo_example_net'
xml:lang='en'>
客戶端: art thou not romeo, and a montague?
客戶端:
伺服器:
to='juliet_example_com'
xml:lang='en'>
伺服器:neither, fair saint, if either thee dislike.
伺服器:
客戶端:
伺服器:
以文件的觀點來看,客戶端或伺服器傳送的所有xml文字連綴在一起,從到構成了乙個完整的xml文件。其中的stream標籤就是所謂的xml stream。在與中間的那些...這樣的xml元素就是所謂的xml stanza(xml節)。xmpp核心協議通訊的基本模式就是先建立乙個stream,然後協商一堆安全之類的東西,中間通訊過程就是客戶端傳送xml stanza,乙個接乙個的。伺服器根據客戶端傳送的資訊以及程式的邏輯,傳送xml stanza給客戶端。但是這個過程並不是一問一答的,任何時候都有可能從一方發信給另外一方。通訊的最後階段是關閉流,關閉tcp/ip連線。
8. xmpp系統特點:
1)客戶機/伺服器通訊模式;(2)分布式網路;(3)簡單的客戶端;(4)xml的資料格式。
9.通俗解釋:
其實xmpp 是一種很類似於http協議的一種資料傳輸協議,它的過程就如同「解包裝--〉包裝」的過程,使用者只需要明白它接受的型別,並理解它返回的型別,就可以很好的利用xmpp來進行資料通訊。
完畢。
XMPP協議實現原理介紹
本文介紹xmpp協議原理及相關資訊。xmpp協議簡介 xmpp extensible messageing and presence protocol 可擴充套件訊息與存在協議 是目前主流的四種im im instant messaging,即時訊息 協議之一,其他三種分別為 即時資訊和空間協議 i...
XMPP協議實現原理介紹
本文介紹xmpp協議原理及相關資訊。xmpp協議簡介 xmpp extensible messageing and presence protocol 可擴充套件訊息與存在協議 是目前主流的四種im im instant messaging,即時訊息 協議之一,其他三種分別為 即時資訊和空間協議 i...
XMPP協議實現原理介紹
本文介紹xmpp協議原理及相關資訊。xmpp協議簡介 xmpp extensible messageing and presence protocol 可擴充套件訊息與存在協議 是目前主流的四種im im instant messaging,即時訊息 協議之一,其他三種分別為 即時資訊和空間協議 i...