<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    贏在執行

    這個世界上只有兩樣東西愈分享愈多,那就是智慧與愛。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      17 Posts :: 11 Stories :: 13 Comments :: 0 Trackbacks

    ? 1、什么是XMPP ?
    XMPP:即Extensible Messaging and Presence Protocol,其前身是Jabber,一個開源形式組織產生的網絡即時通信協議。XMPP目前被IETF國際標準組織完成了標準化工作。標準化的核心結果分為兩部分;
    核心的XML流傳輸協議
    基于XML流傳輸的即時通訊擴展應用
    XMPP的核心XML流傳輸協議的定義使得XMPP能夠在一個比以往網絡通信協議更規范的平臺上。借助于XML易于解析和閱讀的特性,使得XMPP的協議能夠非常漂亮。
    XMPP的即時通訊擴展應用部分是根據IETF在這之前對即時通訊的一個抽象定義的,與其他業已得到廣泛使用的即時通訊協議,諸如AIM,QQ等有功能完整,完善等先進性。

    2、XMPP的基本網絡結構是怎樣的?
    XMPP中定義了三個角色,客戶端,服務器,網關。通信能夠在這三者的任意兩個之間雙向發生。服務器同時承擔了客戶端信息記錄,連接管理和信息的路由功能。網關承擔著與異構即時通信系統的互聯互通,異構系統可以包括SMS(短信),MSN,ICQ等。基本的網絡形式是單客戶端通過TCP/IP連接到單服務器,然后在之上傳輸XML。

    3、XMPP通過TCP傳什么了?
    傳輸的是與即時通訊相關的指令。在以前這些命令要么用2進制的形式發送(比如QQ),要么用純文本指令加空格加參數加換行苻的方式發送(比如MSN)。而XMPP傳輸的即時通訊指令的邏輯與以往相仿,只是協議的形式變成了XML格式的純文本。這不但使得解析容易了,人也容易閱讀了,方便了開發和查錯。而XMPP的核心部分就是一個在網絡上分片斷發送XML的流協議。這個流協議是XMPP的即時通訊指令的傳遞基礎,也是一個非常重要的可以被進一步利用的網絡基礎協議。所以可以說,XMPP用TCP傳的是XML流。

    4、舉個例子看看所謂的XML流是什么樣子的?
    客戶端:<?xml version='1.0'?>
    ?????? <stream:stream
    ?????? to='example.com'
    ?????? xmlns='jabber:client'
    ?????? xmlns:stream='http://etherx.jabber.org/streams'
    ?????? version='1.0'>
    服務器:<?xml version='1.0'?>
    ?????? <stream:stream
    ?????? from='example.com'
    ?????? id='someid'
    ?????? xmlns='jabber:client'
    ?????? xmlns:stream='http://etherx.jabber.org/streams'
    ?????? version='1.0'>
    ...其他通信...
    客戶端:<message from='juliet@example.com'
    ????????????? to='romeo@example.net'
    ????????????? xml:lang='en'>
    客戶端: <body>Art thou not Romeo, and a Montague?</body>
    客戶端: </message>
    服務器: <message from='romeo@example.net'
    ????????????? to='juliet@example.com'
    ????????????? xml:lang='en'>
    服務器:<body>Neither, fair saint, if either thee dislike.</body>
    服務器:</message>
    客戶端:</stream:stream>
    服務器:</stream:stream>
    以文檔的觀點來看,客戶端或服務器發送的所有XML文本連綴在一起,從<stream>到</stream>構成了一個完整的XML文檔。其中的stream標簽就是所謂的XML Stream。在<stream>與</stream>中間的那些<message>...</message>這樣的XML元素就是所謂的XML Stanza(XML節)。XMPP核心協議通信的基本模式就是先建立一個stream,然后協商一堆安全之類的東西,中間通信過程就是客戶端發送XML Stanza,一個接一個的。服務器根據客戶端發送的信息以及程序的邏輯,發送XML Stanza給客戶端。但是這個過程并不是一問一答的,任何時候都有可能從一個方發信給另外一方。通信的最后階段是</stream>關閉流,關閉TCP/IP連接。
    GTalk所遵循的協議---XMPP

    前幾天Google發布了一款名叫Google Talk的即時通訊軟件,這款軟件的買點賣點之一就是XMPP。那,什么是XMPP呢?
       可擴展通訊和表示協議 (XMPP) 可用于服務類實時通訊、表示和需求 - 響應服務中的 XML 數據元流式傳輸。XMPP 以 Jabber 協議為基礎,而 Jabber 是即時通訊中常用的開放式協議。
       盡管 XMPP 沒有完全溶合進任何特定的網絡架構之中,但是通過客戶機/服務器架構,它還是經常被采用,因為客戶機需要使用 XMPP 經過 TCP 連接訪問服務器,而服務器之間也是通過 TCP 連接進行通信的。服務器可起到 XMPP 通訊的智能提取層的作用。許多客戶機直接通過 TCP 連接與服務器相連,并使用 XMPP 來充分使用服務器和任何相關服務所提供的功能。同時連接到服務器的可能有多種資源,它們代表各自已獲授權的客戶機。對于客戶機和服務器之間的連接,推薦使用的端口號為 5222 。網關是一種有著特殊用途的服務器端服務,它的主要功能是在異構通訊系統協議之中解析 XMPP ,同時還要在 XMPP 之中解析返回的數據,如以下各各種服務的網關:電子郵件、國際互聯網中繼聊天(IRC)、SIMPLE、短信息服務(SMS)和現存的各種即時通訊服務,包括 AIM、ICQ、MSN Messenger 和 Yahoo! Instant Messenger 等。
      兩個基本概念 — XML 數據流和 XML 節使得較小結構化信息的有效負載可以在敏感于數據傳輸的實體間進行迅速的異步傳輸。一個 XML 數據流就像一種容器,可應用在任何兩個網絡實體間 XML 數據元的交換。XML 節是結構化信息的獨立單元,通過 XML 數據流從一個實體發送到另一個實體。
      XMPP 中包含了一種用于防范數據流被竄改和偷聽的辦法。這種信道加密的辦法使用了傳輸層安全協議(TLS),連同其擴展協議 STARTTLS 。這種擴展與其它協議的擴展是同一模式的,如 IMAP、POP3 和 ACAP 等協議。XMPP 中還包含一種對數據流進行驗證的辦法,并采用了簡單驗證和安全層協議(SASL)中 XMPP 的特定框架。

    協議結構
      XML 數據流在所有 XML 節的傳送會話過程中起到一種包絡的作用。我們可以采用一種單純的方式來表示這個過程:
    |--------------------|
    | <stream>?????????? |
    |--------------------|
    | <presence>???????? |
    | <show/>??????????? |
    | </presence>??????? |
    |--------------------|
    | <message to='foo'> |
    | <body/> |
    | </message> |
    |--------------------|
    | <iq to='bar'> |
    | <query/> |
    | </iq> |
    |--------------------|
    | ... |
    |--------------------|
    | </stream> |
    |--------------------|
    ?
    ?

    ?

    posted on 2006-12-31 13:17 飛雪(leo) 閱讀(392) 評論(0)  編輯  收藏 所屬分類: XMPP專區

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 少妇亚洲免费精品| 99热在线免费播放| 亚洲AV无码国产丝袜在线观看| 最近2019中文字幕免费直播| 亚洲综合色一区二区三区| 亚洲午夜精品久久久久久浪潮| 嫩草在线视频www免费观看| 亚洲一本一道一区二区三区| 亚洲综合国产精品第一页| 在线a免费观看最新网站| 麻豆安全免费网址入口| 亚洲AV第一页国产精品| 国产精品免费一级在线观看| 日韩精品免费视频| 久久久久亚洲国产AV麻豆| 亚洲AV永久无码精品成人| 日韩免费高清一级毛片在线| 小草在线看片免费人成视久网| 亚洲av日韩精品久久久久久a| 久久亚洲伊人中字综合精品| 日本人的色道www免费一区| 男人天堂免费视频| 黄页免费视频播放在线播放| 亚洲日产2021三区| 亚洲国产成人一区二区三区| 免费欧洲毛片A级视频无风险| 67194国产精品免费观看| 一级成人a做片免费| 亚洲精品无码av片| 亚洲的天堂av无码| 亚洲VA中文字幕不卡无码| 亚洲M码 欧洲S码SSS222| 天天摸天天碰成人免费视频| 午夜精品射精入后重之免费观看 | 成人毛片18女人毛片免费96| 成在人线av无码免费高潮水| 国产亚洲综合视频| 亚洲精品V天堂中文字幕| 亚洲中文久久精品无码1| 97亚洲熟妇自偷自拍另类图片| 久久久久国产成人精品亚洲午夜 |