电竞比分网-中国电竞赛事及体育赛事平台

分享

CometD JavaScript的握手

 phoneone 2011-11-15

原文地址:

                 http:///documentation/cometd-javascript/handshake

 

CometD JavaScript的握手

 

sbordet在周一,2009629 - 14:40提交。

 

JavaScriptCometD API:握手

 

調用handshake()(或init())啟動與Bayeux服務器的通信。

 

Bayeux handshake執(zhí)行兩個任務:

 客戶端和服務器協(xié)商使用傳輸?shù)念愋停?/span>

 傳輸一旦談判成功,服務器通知客戶端請求的詳細時序。

 

JavaScript CometD API的幾種方法,是異步的方法:它會立即返回,在Bayeux握手步驟完成之前。

 

請注意:

 調用handshake(),有handshake()返回時,并不意味著您已經完成了與服務器的握手。

 

握手可能會失敗,有以下幾個原因:

 輸入錯誤的服務器的URL

 傳輸不能成功地進行談判

 服務器拒絕握手(例如,是錯誤的身份驗證憑據(jù))

 在服務器崩潰

 有網絡故障

 

因此,寫這樣的代碼,它不是一個好主意,:

 / /配置和握手

cometd.init(“http://localhost:8080/cometd”);

 

//發(fā)布一個通道

cometd.publish{'/ foo', {foo'bar'};

 

 這不是一個好主意,因為沒有實際上保證成功聯(lián)系Bayeux服務器就調用publish()(我們在后面的章節(jié)會講到)。

 由于API是異步的,你沒有辦法同步知道握手失?。?/span>handshake()返回一個是錯誤代碼,或拋出一個異常)。

 所以,即使握手成功,你可能仍然是“斷開”Bayeux服務器,例如,因為服務器剛剛成功握手后崩潰。

 

幸運的是有一個關于Bayeux協(xié)議的通知方式去了解消息交換的細節(jié):通過特殊頻道(稱為元數(shù)據(jù)頻道)聽眾。

 這是有關訂閱的部分解釋。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多