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

StackOverflow https://stackoverflow.com/questions/2440135

Вопрос

Я хочу создать такое приложение:

http://collabedit.com/

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

Вспышка?Долгий опрос?HTTP-стриминг?или что-то другое?

Спасибо ;)

Это было полезно?

Решение

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

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

Другие советы

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

http://socket.io/

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top