大众cc的最高时速:CometD JavaScript的握手

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 02:27:27

原文地址:

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

 

CometD JavaScript的握手

 

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

 

JavaScriptCometD 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协议的通知方式去了解消息交换的细节:通过特殊频道(称为元数据频道)听众。

 这是有关订阅的部分解释。