<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      XMPP就是Jabber協議的正式名稱。其核心協議就是一個通過socket等媒介發送XML的規范。非常簡單,好實現。
      先是通過socket建立一個網絡連接
      然后客戶端向服務器發送一個<stream:stream....>這樣的XML開始標簽
      然后服務器會返回一個<stream:stream...>這樣的標簽,作為握手信號
      然后這就標志著雙方可以開始XML流的互通了
      斷開似乎不需要發送</stream:stream>,但也不一定,需要再詳細閱讀一下協議。目前是直接斷開socket連接,并沒有多大問題。
      中間的XML流的互通的形式是<iq id='abc'>...</iq>這樣的一個XML節(XML Stanza)的發送過去然后服務器用<iq id='abc'>...</iq>這樣的XML節來回應。目前核心協議規定的XML節有三個presence, iq, message。
      綜觀整體的協議溝通的過程,就是把一個完整的XML文件一段一段的發送過去,<stream>是根節點,然后每次發送的是根節點下的那些次根節點。

      所以目前用Delphi實現需要三個類:
      TXMPPClient(繼承自TIdTCPCustom)
      TXMPPListenerThread(繼承自TIdThread,因為這個Thread比VCL那個要好用一些。需要專門的偵聽線程是因為XMPP沒有像HTTP那樣有明確的一問一答的應答形式。像message這種XML Stanza可能在任何時候到達。所以需要一個專門的偵聽線程不斷的從系統的Socket Stack中把東西讀出來)
      TXMPPProtocol(這個用來實現基于核心協議之上的那些表達即時通訊邏輯的網絡通訊邏輯,比如發送消息啊,上線啊這些。作為TXMPPClient的事件的接收者)

      目前實現的核心在TXMPPClient上,需要四個基本的功能,Connect(連接上之后自動發送<stream開始標簽,并且能判斷是否握手成功),Send Stanza(發送一個XML節),Stanza Received(當收到一個XML節的時候調用所有注冊的回調函數),Disconnect(斷開連接,干凈安全)。即便就這簡單的四個功能也需要Client和偵聽線程的同步與配合,并不是太簡單無味的事情。等明天晚上具體把這些都實現了就可以開始著手吧上層協議一項項做出來了。
      posted on 2005-01-16 20:41  taowen  閱讀(1756)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 国产无遮挡无码视频在线观看| 中文字幕精品亚洲二区| 中国女人内谢69xxxx| 久久天天躁狠狠躁夜夜婷 | 国产日韩一区二区在线| 伊人久久大香线蕉av一区二区 | 亚洲精品男男一区二区| 人妻少妇乱子伦精品无码专区电影| 国产毛片三区二区一区| 97久久精品人人澡人人爽| 在线播放国产女同闺蜜| 中文字幕久久国产精品| 亚洲AV成人无码久久精品四虎| 国99久9在线 | 免费| 蜜臀av色欲a片无码精品一区| 亚洲综合国产伊人五月婷| 亚洲天堂男人的天堂在线| 亚洲人成网站18禁止| 色噜噜狠狠一区二区三区果冻| 国产一区二区不卡自拍| 熟妇人妻系列aⅴ无码专区友真希 亚洲精品喷潮一区二区三区 | 亚洲精品一区二区三区大桥未久| 国产精品 欧美激情 在线播放| 精品亚洲精品日韩精品| 日韩人妻无码一区二区三区| 熟妇啊轻点灬大JI巴太粗| 舞钢市| 亚洲精品精华液一区二区| 国产日韩综合av在线| 亚洲 a v无 码免 费 成 人 a v| 夜夜夜高潮夜夜爽夜夜爰爰| 一区二区三区午夜福利院| 亚洲精品国产自在现线最新| 亚洲精品国产精品乱码不| 内地偷拍一区二区三区| 激情无码人妻又粗又大| 天天综合色一区二区三区| 欧美丰满熟妇xxxx性| 国产又色又爽无遮挡免费动态图| 99久久精品国产熟女拳交| 国产精品中文字幕自拍|