|
原文地址: http:///documentation/cometd-javascript/handshake
CometD JavaScript的握手 sbordet在周一,2009年6月29日 - 14:40提交。 JavaScript的CometD API:握手 調(diào)用handshake()(或init())啟動與Bayeux服務(wù)器的通信。 Bayeux handshake執(zhí)行兩個任務(wù): 客戶端和服務(wù)器協(xié)商使用傳輸?shù)念愋停?/span> 傳輸一旦談判成功,服務(wù)器通知客戶端請求的詳細(xì)時序。 JavaScript CometD API的幾種方法,是異步的方法:它會立即返回,在Bayeux握手步驟完成之前。 請注意: 調(diào)用handshake(),有handshake()返回時,并不意味著您已經(jīng)完成了與服務(wù)器的握手。 握手可能會失敗,有以下幾個原因: 輸入錯誤的服務(wù)器的URL 傳輸不能成功地進(jìn)行談判 服務(wù)器拒絕握手(例如,是錯誤的身份驗(yàn)證憑據(jù)) 在服務(wù)器崩潰 有網(wǎng)絡(luò)故障 因此,寫這樣的代碼,它不是一個好主意,: / /配置和握手 cometd.init(“http://localhost:8080/cometd”); //發(fā)布一個通道 cometd.publish({'/ foo', {foo:'bar'}); 這不是一個好主意,因?yàn)闆]有實(shí)際上保證成功聯(lián)系Bayeux服務(wù)器就調(diào)用publish()(我們在后面的章節(jié)會講到)。 由于API是異步的,你沒有辦法同步知道握手失?。?/span>handshake()返回一個是錯誤代碼,或拋出一個異常)。 所以,即使握手成功,你可能仍然是“斷開”Bayeux服務(wù)器,例如,因?yàn)榉?wù)器剛剛成功握手后崩潰。 幸運(yùn)的是有一個關(guān)于Bayeux協(xié)議的通知方式去了解消息交換的細(xì)節(jié):通過特殊頻道(稱為元數(shù)據(jù)頻道)聽眾。 這是有關(guān)訂閱的部分解釋。 |
|
|