Как реализовать Комету?

Я занимаюсь разработкой веб-приложений в течение некоторого времени, но совсем недавно познакомился с технологией push-уведомлений на стороне сервера 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)? )?

Также, чем отличается push-сервер Comet от функции веб-сокетов HTML5?

Моя основная цель - создать вариант средства совместного редактирования документов в реальном времени.


person lorefnon    schedule 14.11.2011    source источник


Ответы (1)


Пока ссылка 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, и это тщательно настроенное программное решение, полностью созданное для обработки и решения этого решения.

Кроме того, чем отличается push-сервер Comet от функции веб-сокетов HTML5?

Ответ взят из здесь:

Комета - это общий термин, и существует множество серверов Comet (см. Ниже), которые по возможности используют WebSockets в качестве транспортного механизма. Серверы Comet не просто используют AJAX, XHR Long-Polling, Forever-Frame и т. Д. Теперь они используют WebSockets и откат к другим транспортным механизмам, где это необходимо.

Вот лишь некоторые из серверов Comet, которые используют WebSockets:

Моя основная цель - создать вариант средства совместного редактирования документов в реальном времени.

Я бы рекомендовал вам не пытаться реализовать решение для Comet / WebSockets с нуля. Это очень хорошо изученная проблема с рядом отличных решений. И решение все еще непросто реализовать с нуля. Интересная проблема, которую вам необходимо решить, - это синхронизация состояний между несколькими клиентами, поэтому самое замечательное в этих существующих технологиях реального времени заключается в том, что вы можете использовать их и сосредоточиться на создании своего приложения.

Возможно также интересно:

person leggetter    schedule 17.11.2011