原文地址: http:///documentation/cometd-javascript/handshake
CometD JavaScript的握手 sbordet在周一,2009年6月29日 - 14:40提交。 JavaScript的CometD API:握手 调用handshake()(或init())启动与Bayeux服务器的通信。 Bayeux handshake执行两个任务: 客户端和服务器协商使用传输的类型, 传输一旦谈判成功,服务器通知客户端请求的详细时序。 JavaScript CometD API的几种方法,是异步的方法:它会立即返回,在Bayeux握手步骤完成之前。 请注意: 调用handshake(),有handshake()返回时,并不意味着您已经完成了与服务器的握手。 握手可能会失败,有以下几个原因: 输入错误的服务器的URL 传输不能成功地进行谈判 服务器拒绝握手(例如,是错误的身份验证凭据) 在服务器崩溃 有网络故障 因此,写这样的代码,它不是一个好主意,: / /配置和握手 cometd.init(“http://localhost:8080/cometd”); //发布一个通道 cometd.publish({'/ foo', {foo:'bar'}); 这不是一个好主意,因为没有实际上保证成功联系Bayeux服务器就调用publish()(我们在后面的章节会讲到)。 由于API是异步的,你没有办法同步知道握手失败(即handshake()返回一个是错误代码,或抛出一个异常)。 所以,即使握手成功,你可能仍然是“断开”Bayeux服务器,例如,因为服务器刚刚成功握手后崩溃。 幸运的是有一个关于Bayeux协议的通知方式去了解消息交换的细节:通过特殊频道(称为元数据频道)听众。 这是有关订阅的部分解释。 |
|
来自: phoneone > 《CometD 2.x》