日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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技術,這技術使用的是 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ā)布到頻道中去。

 

 

頻道

 

一個頻道被定義成一個主題,這個主題是關于發(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)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多