Обновления сервера реального времени в браузере - PullRequest
2 голосов
/ 11 августа 2011

Я ищу фреймворк, который может предоставлять обновления в реальном времени с сервера в браузер, как он используется в веб-чатах, Google Wave, Google Buzz, Facebook и т. Д.

Я нашел Rocket GWT , но последнее обновление было более года назад ...

Лучшая реализация для меня - использовать GWT на клиенте, JSON в качестве протокола связи и C ++ на сервере, но любые другие фреймворкиДобро пожаловать, просто чтобы увидеть, что это возможно :) Какой фреймворк использует Google?

С уважением, Стефан

Ответы [ 3 ]

5 голосов
/ 11 августа 2011

Взгляните на веб-сокеты, которые со временем станут стандартом для двунаправленной веб-коммуникации клиент-сервер.

Текущую поддержку можно проверить в следующих таблицах:

Поскольку в ближайшем будущем (с августа 2011 г.) поддержка доступна только в Safari, Firefox и Chrome, возможно, пригодится какая-нибудь отказоустойчивая библиотека:

Вы хотите, чтобы он работал во всех браузерах, независимо от того, имеют ли они поддержку WebSocket или нет? Вы не хотите полагаться на запатентованную технологию, такую ​​как Flash, в качестве запасного варианта. И, естественно, вы не хотите писать более одной реализации?

Представляем плагин gracefulWebSocket jQuery: Реализует интерфейс w3c WebSocket. Обертывает собственный WebSocket, если обнаружена поддержка. Обеспечивает откат по умолчанию с использованием традиционного опроса AJAX по HTTP. Не требует дополнительного кода в веб-интерфейсе, позволяет вам ориентируйтесь на API WebSocket сегодня и позвольте пользователям воспользоваться этим, поскольку все больше браузеров добавляют поддержку. Поведение по умолчанию может быть изменено с помощью параметров плагина

2 голосов
/ 11 августа 2011

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

В противном случае, метод длинного опроса и другие методы Comet использовались в течение длительного времени, поэтому их будет достаточно, если вы не готовы попробовать WebSockets.Я не думаю, что мне нужно предоставлять какие-либо примеры реализации - они повсеместны - Facebook, Hotmail, Twitter, Gmail ... список можно продолжить.Также есть много исходного кода - только Google!(или Bing, или любой другой предпочитаемой вами поисковой системой)

Примечания. В настоящее время Google Chrome 10, Apple Safari 5, Firefox 6 и Opera 10 и выше поддерживают нативно WebSockets.Firefox 4 и 5 по умолчанию отключены.

1 голос
/ 02 мая 2013

Вы можете попробовать готовый фреймворк, такой как Realtime.co (для которого я работаю). Он имеет API для нескольких языков и платформ, что позволяет вам иметь все интересные функции в реальном времени в вашем браузере, мобильных приложениях и т. Д.

Вы можете получить бесплатный аккаунт на www.realtime.co и проверить API на www.xrtml.org .

Разработка с нуля - это весело, но если вы хотите быстро двигаться дальше и тратить время на разработку приложения, а не тратить время на работу на коммуникационном уровне, то такие фреймворки, как Realtime, - это путь, который устраняет многие трудности такие проблемы, как масштабируемость, SLA, производительность, безопасность и т. д.

...