如何实施Comet?

时间:2011-11-14 08:10:18

标签: ajax websocket comet

我一直在开发Web应用程序已有一段时间了,但最近才推出了Comet服务器侧推技术,而且我对这项技术的理解还很不成熟。虽然链接http://www.zeitoun.net/articles/comet_and_php/start在PHP中使用无限循环提供了两个简单的示例实现,但我想更多地了解上述方法的重现以及是否适合生产。 Meteor(http://meteorserver.org/),streamhub(http://www.stream-hub.com/),freeliberator(http://www.freeliberator.com/index.php)等专用彗星服务器有哪些优势? )?

从HTML5网络套接字设施来看Comet服务器端推送有何不同?

我的主要目标是构建协作实时文档编辑工具的变体。

1 个答案:

答案 0 :(得分:7)

  

虽然链接http://www.zeitoun.net/articles/comet_and_php/start提供了两个在PHP中使用无限循环的简单示例实现,但我想了解更多关于上述方法的重现以及它是否适合生产。

此解决方案是导致PHP和Comet / WebSockets无法扩展的概念的因素之一。参见:

  

Meteor(http://meteorserver.org/),streamhub(http://www.stream-hub.com/),freeliberator(http://www.freeliberator.com/index.php)等专用彗星服务器有哪些优势?

优点是这些解决方案的构建基于处理多个并发连接的想法。它们还提供了库,这些库提供了您可能需要的pub/sub等附加功能,因此必须自己实现。我曾为Caplin Systems工作,他负责构建Liberator产品,它是一个高度调整的软件解决方案,完全用于处理和解决此解决方案。

  

同样,来自HTML5网络套接字设施的Comet服务器端推送有何不同?

摘自here

  彗星是一个总称,有很多"彗星服务器" (看到   如果可能,使用WebSockets作为传输机制。   Comet服务器不仅仅使用AJAX,XHR Long-Polling,Forever-Frame   他们现在使用WebSockets并回退到其他传输   必要的机制。

     

以下是一些" Comet服务器"使用WebSockets:

           

我的主要目标是建立一个协作实时文档编辑工具的变体。

我建议您不要尝试从头开始实施Comet / WebSockets解决方案。这是一个非常好理解的问题,有许多优秀的解决方案。从头开始实施该解决方案仍然不容易。您需要解决的有趣问题是跨多个客户端的状态同步之一,因此这些现有实时技术的优点在于您可以使用它们并专注于构建应用程序。

可能也有兴趣: