Отображение данных в режиме реального времени на веб-странице [закрыто]
-
05-07-2019 - |
Вопрос
Я не уверен, как сформулировать это наилучшим образом, но то, что я ищу, - это способ отображения данных на веб-странице по мере их появления.Примеры:Отображение сообщений IRC-канала на веб-странице при отправке сообщения на IRC-канал сообщение выводится на веб-страницу одновременно (или с очень небольшой задержкой).Или, когда данные вставляются в базу данных, они одновременно выводятся на веб-страницу (опять же, или с очень небольшой задержкой).Как реализована такая функция?Может ли такая функция быть реализована с помощью JS / jQuery?Я предполагаю, что да, поскольку именно так работает Mibbit (AJAX).Был бы признателен за пример или объяснение псевдокода, поскольку я абсолютно понятия не имею, с чего вообще начать и что мне нужно.
Решение
Этот термин таков Comet
, и это, по сути, просто блок кода, настроенный на бесконечный запуск и опрос (отправку HTTP-запроса) с интервалами для получения новых данных обратно, если таковые имеются, заполняя существующую область новыми данными.
Вы можете прочитать об этом подробнее:
Учебное пособие ( не самый лучший стиль кода ):
Вопрос Stackoverflow с примером:
Другие советы
Такого рода проблемы всегда имеют два типа решения:опрос или подталкивание.
Вы можете опрашивать с помощью методов AJAX ИЛИ иметь долговременное соединение с сервером, отправляющим данные клиенту (COMET).
Если вы планируете использовать javascript, то у вас, вероятно, будет класс timer, который время от времени будет получать обновление с помощью ajax.