|
原文地址: http:///documentation/cometd-javascript/handshake
CometD JavaScript的握手 sbordet在周一,2009年6月29日 - 14:40提交。 JavaScript的CometD 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ù)頻道)聽眾。 這是有關訂閱的部分解釋。 |
|
|
來自: phoneone > 《CometD 2.x》