我已经开发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)有什么优势? )?

Comet服务器端推送与HTML5 Web套接字功能有何不同?

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

最佳答案

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

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

  • solution for COMET and PHP
  • Using comet with PHP?

  • 专用的彗星服务器如Meteor(http://meteorserver.org/),streamhub(http://www.stream-hub.com/),freeliberator(http://www.freeliberator.com/index.php)有什么优势?

    优点是这些解决方案是在考虑多个并发连接的想法的基础上构建的。它们还提供了一些库,这些库提供了其他功能,例如pub/sub,您可能需要这些功能,因此必须自己实现。我曾在Caplin Systems任职,后者开发了Liberator产品,这是一个经过高度调优的软件解决方案,完全可以处理和解决该解决方案。

    Comet服务器端推送与HTML5 Web套接字功能有何不同?

    答案来自here:

    Comet是一个概括性术语,并且有许多“Comet服务器”(请参阅
    下面)使用WebSockets作为传输机制。
    彗星服务器不仅使用AJAX,XHR长轮询,永远帧
    等等。他们现在使用WebSockets并回退到其他传输方式
    需要的机制。
    以下是一些使用WebSocket的“Comet服务器”:
  • StreamHub:
    http://streamhub.blogspot.com/2010/12/html-5-web-sockets-arrives-in-streamhub.html
  • APE(“本地WebSockets”):http://www.ape-project.org/
  • 卡普林解放者:http://www.caplin.com/caplin_liberator.php
  • 迁移:http://migratory.ro/migratory-push-server.html
  • CometD:http://cometdproject.dojotoolkit.org/documentation/2.x/howtos/websocket

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

    我建议您不要尝试从头开始为Comet / WebSockets实现解决方案。通过许多出色的解决方案,这是一个非常容易理解的问题。从头开始实施该解决方案仍然不容易。您需要解决的有趣问题是多个客户端之间的状态同步之一,因此这些现有实时技术的妙处在于您可以使用它们并专注于构建应用程序。
    可能还感兴趣:
  • XMPP BOSH v Comet
  • Realtime Web Technologies Guide
  • 关于ajax - 如何实现Comet?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8118828/

    10-09 20:14