Является ли "длинный опрос" наиболее эффективным способом создания веб-приложения реального времени?

Я хочу создать приложение следующим образом:

http://collabedit.com/

Каков наиболее эффективный способ создания этого приложения в реальном времени?

Флэш? Длительный опрос? Http Streaming? или что-то еще?

Спасибо;)

Ответы

Ответ 1

На данный момент длинный опрос, вероятно, является лучшим решением. Многие крупные сайты имеют длинные опросы, в том числе Facebook, Google и eBay. Не у всех установлена ​​и включена Flash в своих браузерах. В будущем Веб-сокеты могли бы облегчить нам работу.

Обновление:. На момент написания этой статьи в последнем WebKit (Chrome/Safari) реализован API WebSocket) и Firefox 4. Существует также общедоступная сборка снимков Opera доступная для скачивания с реализацией API. Это означает, что тестирование API широко доступно. Для получения дополнительной информации см. этот ответ.

Ответ 2

Все разные методы имеют разные плюсы и минусы, я не специалист по различиям, поэтому я рекомендую вам избежать выбора, избегая разработки и настройки, которые каждый подход включает во избежание будущих изменений в доступных технологиях (т.е. при поступлении веб-сокетов HTML5), используя библиотеку, в которой абстрактно используется используемый транспортный метод, и выбирает наилучший подход на основе клиентских возможностей:

http://socket.io/

эта замечательная библиотека делает создание приложений реального времени удивительно простым! и существуют различные серверные реализации: Python (Tornado), Java, Google GO, Rack (Ruby), помимо основной реализации в Node.js(серверный JavaScript)

Ответ 3

Я не думаю, что длительный опрос - самый эффективный способ сделать Комету. Во всяком случае, он отправляет новый HTTP-запрос после получения ответа. Это требует дополнительных HTTP-запросов, чем потоковая передача HTTP.

Но длительный опрос может быть более надежным и более простым в использовании, чем потоковая передача HTTP. В соответствии с этой статьей в коде Google потоковая передача HTTP может не работать, если промежуточный HTTP-прокси-сервер буферизует содержимое.

Интересно, что GMail не использует длительный опрос. С помощью сниффера Http понятно, что он использует потоковое HTTP для Comet.