Как можно обновлять веб-страницу в реальном времени? - PullRequest
5 голосов
/ 05 октября 2010

Сервис GMail от Google делает это, потому что он интегрирует Google Talk - и Etherpad (теперь typewith.me) прославил систему, которая используется, например, Google Wave.Все такие системы обновляют страницу, над которой пользователь эффективно работает, мгновенно, когда другие пользователи вносят изменения в страницу.Серверу легко сказать, что изменение произошло, когда оно произошло, но более сложно заставить клиентов обновляться самостоятельно.

Как работает этот вид редактирования в реальном времени?У него просто есть клиент пингует сервер десятки раз в секунду для обновления?

Ответы [ 7 ]

10 голосов
/ 05 октября 2010

Вы можете использовать Комета .

1 голос
/ 05 октября 2010

Я предлагаю использовать AJAX и jQuery для асинхронного JS

http://api.jquery.com/category/ajax/

1 голос
/ 05 октября 2010

Асинхронный JavaScript и XML или AJAX

С помощью Ajax веб-приложения могут асинхронно получать данные с сервера в фоновом режиме, не влияя на отображение и поведение существующей страницы. Использование методов Ajax привело к увеличению количества интерактивных или динамических интерфейсов на веб-страницах. Данные обычно извлекаются с использованием объекта XMLHttpRequest. Несмотря на название, использование XML фактически не требуется, и запросы не должны быть асинхронными.

1 голос
/ 05 октября 2010

Есть много вариантов, но в основном я рекомендую вам посмотреть XMPP . я не думаю, что я достаточно хорош, чтобы правильно все выкинуть, поэтому я позволю вики-разговору для меня

На самом деле, Google Voice и видео использует его для этих систем.


Что касается AJAX, я думаю, что это канал связи, а не платформа или протокол для обмена несколькими людьми. Вы также можете ответить "Use xml over http!" и все еще находиться в той же точке:)

0 голосов
/ 05 октября 2010

Как все говорят .. AJAX.

Клиент продолжает спрашивать сервер, скажем, через 30 секунд, есть ли что-то новое для него. Кроме того, вы можете установить значение тайм-аута на запрос ajax. немного превышайте время ожидания, и сервер отвечает, когда появляется что-то новое.

Нет другого способа, чтобы сервер мог попросить клиента загрузить некоторые данные.

Если вы думаете о реализации чего-либо в одних и тех же строках, найдите strophe.js, который является js-библиотекой XMPP

0 голосов
/ 05 октября 2010

Javascript / Ajax позволяет отправлять код для выполнения на стороне клиента (то есть браузером). Теперь, если вы, например, Определите цикл, который проверяет наличие новых сообщений на сервере каждые 5 секунд, вы можете обновлять веб-страницу «в режиме реального времени» (плюс время, необходимое серверу для обработки запроса и отправки ответа) или подобного. Практическим примером будет прототип RoR periodically_call_remote Ajax helper.

Надеюсь, это поможет!

0 голосов
/ 05 октября 2010

AFAIK, они используют некоторую форму AJAX. Однако я бы рекомендовал вам использовать библиотеки AJAX через jQuery. AJAX сильно упрощается, если вы используете для этого jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...