乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CometD 2 java 概念

       phoneone 2011-11-18

      原文地址:

                    http:///documentation/2.x/cometd-java/concepts

       

      CometD 2 Java 概念

       

      sbordet 提交于星期日,2010/10/10-20:50

       

      CometD 2 Java 概念

       

      CometD 項目實現(xiàn)的是comet技術(shù),這技術(shù)使用的是 Bayeux 協(xié)議提供可擴展的基于 HTTP 的消息系統(tǒng)。

       

      一般情況下,消息系統(tǒng)由服務器部分的客戶端部分組成,它們通過協(xié)議進行通信。這捕獲模式稱為半對象加(half object plus)協(xié)議。如圖:

       

       
       

       

      Sessions

       

      Org.cometd.bayeux.client.ClientSession 是客戶端部分的半對象,它表示與 Bayeux 服務器通信的一個Session。

       

      當一個客戶端半對象session被客戶端創(chuàng)建時,他們最初沒有分配給記錄者的org.cometd.bayeux.server.ServerSession半對象。

      只有當客戶端的session服務器與握手時,他的服務器session記錄被創(chuàng)建,且兩個半對象之間的連接被創(chuàng)建。

       

      客戶端session的概念對于遠程客戶端來說是易懂的,但是它也存在于服務端部分。

       

      Bayeux 服務端只能識別服務端session半對象,且只有一種方法去創(chuàng)建服務端session半對象,就是首先創(chuàng)建它的記錄客戶端,然后用它去與服務端握手。

       

      出于這個原因,在服務端部分,就有了org.cometd.bayeux.server.LocalSession這個額外的概念,它擴展于org.cometd.bayeux.client.ClientSession。它是一個發(fā)生在服務端的客戶端session,且從此本地化到服務端。

       

      例如服務端服務被分配給一個本地的session,在創(chuàng)建服務端服務之后,這個本地的session握手的同時創(chuàng)建記錄的服務端session半對象。所以bayeux 服務端可以通過org.cometd.bayeux.server.ServerSession用同一種方法處理遠程session和本地session 。

       

      CometD實現(xiàn)中,兩端的通信用的是bayeux消息交換數(shù)據(jù)。

       

      消息

       

      在客戶端Java API提供org.cometd.bayeux.Message接口去和只讀內(nèi)容的消息進行交互。

       

      用戶可以編寫代碼改變一個消息的內(nèi)容,用的是把

      內(nèi)部子接口org.cometd.bayeux.Message.Mutable作為參數(shù)傳遞給回調(diào)函數(shù)(例如:擴展客戶端)。

       

      在服務端的子接口org.cometd.bayeux.server.ServerMessage允許和只讀消息交互,并把內(nèi)部子接口org.cometd.bayeux.server.ServerMessage.Mutable作為參數(shù)傳遞給回調(diào)函數(shù),在這個函數(shù)中用戶可以編寫代碼改變一個消息的內(nèi)容(例如:擴展服務端)。

       

      消息被發(fā)布到頻道中去。

       

       

      頻道

       

      一個頻道被定義成一個主題,這個主題是關(guān)于發(fā)布到這個頻道的消息和喜歡把接收到的消息發(fā)布到這個頻道的訂閱者的。

       

      頻道可以寫成類似于目錄路徑或通配符,例如:

       

      /chat/room/1, /stocks/**, /cinema/trailers/*.

       

      Bayeux頻道被分為三種類別:

       

       

       

      ?元數(shù)據(jù)頻道(以/meta/開頭且被bayeux協(xié)議保留)

      ?服務頻道(以/services/開頭并被用于客戶端到服務端的通信)

      ?普通頻道(以任何字符串開頭并被用于客戶端之間廣播消息)

       

      在服務端,子接口org.cometd.bayeux.server.ServerChannel允許與頻道交互(例如:用于發(fā)布消息或增加偵聽器)

       

      在客戶端,被通過org.cometd.bayeux.client.ClientSessionChannel提供的客戶端session限制.

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多