В то время как ссылка 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, и это высокоразвитые программные решения, полностью предназначенные для обработки и решения этого решения.
Кроме того, насколько отличается толчок Comet-сервера от возможности веб-сокета HTML5?
Ответ взят из здесь :
Comet - это общий термин, и существует много «серверов Comet» (см.
ниже), которые используют WebSockets в качестве транспортного механизма, когда это возможно.
Серверы Comet используют не только AJAX, XHR Long-Polling, Forever-Frame
и т.д. Они теперь используют WebSockets и переходят на другой транспорт
механизмы, где это необходимо.
Вот лишь некоторые из «серверов Comet», которые используют WebSockets:
Моя основная задача - создать вариант совместного редактирования документов в режиме реального времени.
Я бы рекомендовал вам не пытаться реализовать решение для Comet / WebSockets с нуля. Это очень хорошо понимаемая проблема с рядом отличных решений. И решение до сих пор не просто реализовать с нуля. Интересная проблема, которую вам нужно решить, - это синхронизация состояний между несколькими клиентами, поэтому замечательным преимуществом этих существующих технологий реального времени является то, что вы можете использовать их и сосредоточиться на создании своего приложения.
Возможно, также представляет интерес: