Я хочу, чтобы действие автоматически отражалось для всех вошедших в систему пользователей.
Как я могу обновить страницу для всех зарегистрированных пользователей (совместное редактирование) с помощью JavaScript, jQuery и HTML?
Ответы (1)
Вы можете использовать XMLHttpRequest
для опроса сервера каждые несколько секунд или около того. Затем сервер может отвечать инструкциями для браузеров всех пользователей, посещающих ваш сайт (или некоторых избранных), практически в режиме реального времени.
Вы также можете использовать длинный опрос вместо вышеуказанного, чтобы уменьшить задержки без увеличения частоты опросов.
Цитируя Comet Daily: метод длительного опроса:
Техника длительного опроса Comet — это метод, который оптимизирует традиционный опрос для уменьшения задержки.
Традиционный опрос отправляет
XMLHttpRequest
на сервер с фиксированными интервалами. Например, открывать новыйXMLHttpRequest
каждые 15 секунд, получать немедленный ответ и закрывать соединение.Длительный опрос отправляет запрос на сервер, но ответ не возвращается клиенту, пока он не будет доступен. Как только соединение закрывается либо из-за ответа, полученного клиентом, либо из-за истечения времени ожидания запроса, инициируется новое соединение. Результатом является значительное сокращение задержки, поскольку сервер обычно устанавливает соединение, когда он готов вернуть информацию для возврата клиенту.
В дополнение к вышесказанному я также предлагаю вам ознакомиться с принятым ответом на следующий пост Stack Overflow для подробного описания метода длинного опроса: