虽然链接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)有什么优势)?
优点是这些解决方案是在考虑处理多个并发连接的思想的基础上构建的。他们还提供了一些库,这些库提供了其他功能,例如您可能需要的发布/订阅功能,因此必须自己实现。我曾在Caplin
Systems任职,后者开发了Liberator产品,这是一个经过高度调整的软件解决方案,旨在完全处理和解决该解决方案。
Comet服务器端推送与HTML5 Web套接字功能有何不同?
从这里得到的答案:
Comet是一个概括性术语,有许多“ Comet服务器”(见下文)在可能的情况下使用WebSockets作为传输机制。彗星服务器不仅使用AJAX,XHR
Long-Polling,Forever-frame等,而且现在使用WebSockets并在需要时回退到其他传输机制。以下是一些使用WebSocket的“ Comet服务器”:
- StreamHub:http
://streamhub.blogspot.com/2010/12/html-5-web-sockets-arrives-in-
streamhub.html- APE(“本地WebSocket”):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实现解决方案。通过许多出色的解决方案,这是一个非常容易理解的问题。从头开始实施该解决方案仍然不简单。您需要解决的有趣问题是多个客户端之间的状态同步之一,因此这些现有的实时技术的妙处在于您可以使用它们并专注于构建应用程序。



