COMETD-如何长期播放连接



只是为了确保我正确执行此操作。我正在编码Bayeux客户端与外部Cometd Server(通过长播)配合。我的客户按以下顺序发送请求:握手,连接,订阅,连接。后者连接停滞直到有消息可用。当消息到来时,服务器响应。一切都起作用。我做得正确吗?

通常,客户端应遵循/meta/handshake/meta/connect消息中服务器发送的advice

订阅消息应由客户保留,直到成功的/meta/handshake回复为止。

以特定顺序发送请求并不是完全精确的,因为您要使用至少两个连接。

因此,/meta/handshake请求首先;成功的/meta/handshake回复后,/meta/subscribe/meta/connect可以在两个连接上并行进行。

是否持有第一个/meta/connect答复是无关的:您的客户将具有处理/meta/connect消息的机制,并影响服务器是否持有/meta/connect回复。

在Cometd中,第一个/meta/connectadvice: { timeout: 0 }一起发送,因为客户端想知道握手后服务器是否还活着(否则第一个连接可能会"丢失",并且客户端可以认为它可以与该连接处于连接状态服务器不是)。它还可以在握手后第一次在/meta/connect频道上通知客户端应用程序。

相关内容

  • 没有找到相关文章

最新更新