2010-06-18 2 views
0

Веб-приложение, с которым я помогаю развиваться, сталкивается с хорошо известной проблемой: мы хотим, чтобы пользователи могли знать о различных событиях и т. Д., Которые могут произойти в любое время, по сути, случайным образом, и соответственно обновлять их представление. По сути, нам нужно разрешить серверу отправлять запросы отдельным клиентам, а не клиенту, запрашивающему сервер.полнодуплексная связь через Интернет без флэш-сокетов

Я понимаю, что WebSockets - это попытка решить эту проблему; однако, немного разобравшись в них, я понимаю, что а) очень немногие веб-браузеры в настоящее время предлагают поддержку родного websocket; б) обойти это, вы либо используете флеш-сокеты, либо какой-то длинный опрос AJAX; c) должен использоваться специальный сервер веб-серверов.

Теперь мы хотим предложить наш сервис без Flash. И любые серверы должны иметь какие-то возможности балансировки нагрузки или, по крайней мере, некоторое программное обеспечение, которое может сделать балансировку нагрузки для них.

С 2008 года все говорили, что решения на основе комет (например, Байе) - это путь к подобным ситуациям. Тем не менее, с тех пор различные протоколы, похоже, не так много работали, что приводит (наконец) к вопросу.

Содержит ли Байе комета все еще подходящий инструмент для таких рабочих мест? Если нет, то что?

ответ

1

Альтернатива Comet/Bayeux, которая доказала свою работоспособность, представляет собой комбинацию XMPP-сервера, такого как ejabberd или OpenFire и StropheJS, разработанные Джеком Моффиттом (его сайт http://metajack.im/). Ограничение XMPP заключается в том, что он может передавать только текст, а не бинарную полезную нагрузку.

0

WebSockets звучит как идеальное решение вашей проблемы - я бы не рекомендовал идти по пути кометы/байе. Что касается первые две проблемы:

а) очень немногие веб-браузеры в настоящее время предлагают встроенную поддержку WebSocket

WebSocket серверы, как правило, предлагают методы эмуляции для браузера, которые не имеют встроенной поддержки WebSocket. Here you can read about the emulation, что один из поставщиков, Kaazing предлагает [отказ от ответственности: я работаю для Kaazing].

б) [эмуляция WebSocket использует] флэш-сокеты или какие-то AJAX давно опрос

Не совсем так. Выполнение эмуляции хорошо не просто, но это можно сделать. Длительный опрос - последнее место. Например, Kaazing Gateway всегда использует лучшую эмуляцию, чем длительный опрос.

Kaazing также предлагает выпуск XMPP шлюза WebSocket, позволяющий напрямую создавать приложение HTML5 с использованием XMPP из среды JavaScript. Основным транспортным уровнем XMPP является WebSockets (собственный или эмулируемый).

Смежные вопросы