LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Android實(shí)現(xiàn)推送解決方案之一--XMPP協(xié)議

admin
2013年2月25日 23:55 本文熱度 4476

XMPP協(xié)議簡(jiǎn)介  


        XMPP(Extensible Messageing and Presence Protocol:可擴(kuò)展消息與存在協(xié)議)是目前主流的四種IM(IM:instant messaging,即時(shí)消息)協(xié)議之一,其他三種分別為:即時(shí)信息和空間協(xié)議(IMPP)、空間和即時(shí)信息協(xié)議(PRIM)、針對(duì)即時(shí)通訊和空間平衡擴(kuò)充的進(jìn)程開(kāi)始協(xié)議SIP(SIMPLE)。


        在這四種協(xié)議中,XMPP是最靈活的。XMPP是一種基于XML的協(xié)議,它繼承了在XML環(huán)境中靈活的發(fā)展性。因此,基于XMPP的應(yīng)用具有超強(qiáng)的可擴(kuò)展性。經(jīng)過(guò)擴(kuò)展以后的XMPP可以通過(guò)發(fā)送擴(kuò)展的信息來(lái)處理用戶(hù)的需求,以及在XMPP的頂端建立如內(nèi)容發(fā)布系統(tǒng)和基于地址的服務(wù)等應(yīng)用程 序。而且,XMPP包含了針對(duì)服務(wù)器端的軟件協(xié)議,使之能與另一個(gè)進(jìn)行通話,這使得開(kāi)發(fā)者更容易建立客戶(hù)應(yīng)用程序或給一個(gè)配好系統(tǒng)添加功能。


        1. 什么是XMPP ?


        XMPP的前身是Jabber,一個(gè)開(kāi)源形式組織產(chǎn)生的網(wǎng)絡(luò)即時(shí)通信協(xié)議。XMPP目前被IETF國(guó)際標(biāo)準(zhǔn)組織完成了標(biāo)準(zhǔn)化工作。標(biāo)準(zhǔn)化的核心結(jié)果分為兩部分; 核心的XML流傳輸協(xié)議 基于XML流傳輸?shù)募磿r(shí)通訊擴(kuò)展應(yīng)用 XMPP的核心XML流傳輸協(xié)議的定義使得XMPP能夠在一個(gè)比以往網(wǎng)絡(luò)通信協(xié)議更規(guī)范的平臺(tái)上。借助于XML易于解析和閱讀的特性,使得XMPP的協(xié)議能夠非常漂亮。 XMPP的即時(shí)通訊擴(kuò)展應(yīng)用部分是根據(jù)IETF在這之前對(duì)即時(shí)通訊的一個(gè)抽象定義的,與其他業(yè)已得到廣泛使用的即時(shí)通訊協(xié)議,諸如AIM,QQ等有功能完整,完善等先進(jìn)性。


        2. XMPP的基本網(wǎng)絡(luò)結(jié)構(gòu)是怎樣的


        XMPP中定義了三個(gè)角色,客戶(hù)端,服務(wù)器,網(wǎng)關(guān)。通信能夠在這三者的任意兩個(gè)之間雙向發(fā)生。服務(wù)器同時(shí)承擔(dān)了客戶(hù)端信息記錄,連接管理和信息的路由功能。網(wǎng)關(guān)承擔(dān)著與異構(gòu)即時(shí)通信系統(tǒng)的互聯(lián)互通,異構(gòu)系統(tǒng)可以包括SMS(短信),MSN,ICQ等。基本的網(wǎng)絡(luò)形式是單客戶(hù)端通過(guò)TCP/IP連接到單服務(wù)器,然后在之上傳輸XML。


        3. XMPP通過(guò)TCP傳什么了?


        傳輸?shù)氖桥c即時(shí)通訊相關(guān)的指令。在以前這些命令要么用2進(jìn)制的形式發(fā)送(比如QQ),要么用純文本指令加空格加參數(shù)加換行苻的方式發(fā)送(比如MSN)。而 XMPP傳輸?shù)募磿r(shí)通訊指令的邏輯與以往相仿,只是協(xié)議的形式變成了XML格式的純文本。這不但使得解析容易了,人也容易閱讀了,方便了開(kāi)發(fā)和查錯(cuò)。而 XMPP的核心部分就是一個(gè)在網(wǎng)絡(luò)上分片斷發(fā)送XML的流協(xié)議。這個(gè)流協(xié)議是XMPP的即時(shí)通訊指令的傳遞基礎(chǔ),也是一個(gè)非常重要的可以被進(jìn)一步利用的網(wǎng)絡(luò)基礎(chǔ)協(xié)議。所以可以說(shuō),XMPP用TCP傳的是XML流。


        XMPP協(xié)議工作原理:



       


        4. XMPP協(xié)議地址格式:


       


         5. XMPP消息格式:


       



       



       


       


        6. 核心的XML流傳輸協(xié)議


        基于XML FreeEIM流傳輸?shù)募磿r(shí)通訊擴(kuò)展應(yīng)用


        XMPP的核心XML流傳輸協(xié)議的定義使得XMPP能夠在一個(gè)比以往網(wǎng)絡(luò)通信協(xié)議更規(guī)范的平臺(tái)上。借助于XML易于解析和閱讀的特性,使得XMPP的協(xié)議能夠非常漂亮。


        XMPP的即時(shí)通訊擴(kuò)展應(yīng)用部分是根據(jù)IETF在這之前對(duì)即時(shí)通訊的一個(gè)抽象定義的,與其他業(yè)已得到廣泛使用的即時(shí)通訊協(xié)議,諸如AIM,QQ等有功能完整,完善等先進(jìn)性。


        XMPP的擴(kuò)展協(xié)議Jingle使得其支持語(yǔ)音和視頻。 


        XMPP的官方文檔時(shí)RFC 3920.


        7. XMPP應(yīng)用示例


        舉個(gè)例子看看所謂的XML流是什么樣子的?



  客戶(hù)端:<?xml version='1.0'?>
  <stream:stream
  to='example_com'
  xmlns='jabber:client'
  xmlns:stream='http_etherx_jabber_org/streams'
  version='1.0'>
  服務(wù)器:<?xml version='1.0'?>
  <stream:stream
  from='example_com'
  id='someid'
  xmlns='jabber:client'
  xmlns:stream='http_etherx_jabber_org/streams'
  version='1.0'>
  ...其他通信...
  客戶(hù)端:<message from='juliet_example_com'
  to='romeo_example_net'
  xml:lang='en'>
  客戶(hù)端: <body>Art thou not Romeo, and a Montague?</body>
  客戶(hù)端:</message>
  服務(wù)器:<message from='romeo_example_net'
  to='juliet_example_com'
  xml:lang='en'>
  服務(wù)器:<body>Neither, fair saint, if either thee dislike.</body>
  服務(wù)器:</message>
  客戶(hù)端:</stream:stream>

  服務(wù)器:</stream:stream>

        以文檔的觀點(diǎn)來(lái)看,客戶(hù)端或服務(wù)器發(fā)送的所有XML文本連綴在一起,從<stream>到</stream>構(gòu)成了一個(gè)完整的 XML文檔。其中的stream標(biāo)簽就是所謂的XML Stream。在<stream>與</stream>中間的那些<message>...< /message>這樣的XML元素就是所謂的XML Stanza(XML節(jié))。XMPP核心協(xié)議通信的基本模式就是先建立一個(gè)stream,然后協(xié)商一堆安全之類(lèi)的東西,中間通信過(guò)程就是客戶(hù)端發(fā)送XML Stanza,一個(gè)接一個(gè)的。服務(wù)器根據(jù)客戶(hù)端發(fā)送的信息以及程序的邏輯,發(fā)送XML Stanza給客戶(hù)端。但是這個(gè)過(guò)程并不是一問(wèn)一答的,任何時(shí)候都有可能從一方發(fā)信給另外一方。通信的最后階段是</stream>關(guān)閉流,關(guān)閉TCP/IP連接。


        8. XMPP系統(tǒng)特點(diǎn):


        1)客戶(hù)機(jī)/服務(wù)器通信模式;(2)分布式網(wǎng)絡(luò);(3)簡(jiǎn)單的客戶(hù)端;(4)XML的數(shù)據(jù)格式。


        9.通俗解釋?zhuān)?/STRONG>


        其實(shí)XMPP 是一種很類(lèi)似于http協(xié)議的一種數(shù)據(jù)傳輸協(xié)議,它的過(guò)程就如同“解包裝--〉包裝”的過(guò)程,用戶(hù)只需要明白它接受的類(lèi)型,并理解它返回的類(lèi)型,就可以很好的利用xmpp來(lái)進(jìn)行數(shù)據(jù)通訊。


該文章在 2013/2/25 23:55:27 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
五月丁香视频国产精 | 日本a级综合久久a | 在线免费观看人成视频色九 | 中文字幕第二页在线天堂中文 | 亚洲欧美日韩一区二区综合 | 亚洲乱码中文字幕精品久久 |