То, что вы описываете, будет push-уведомлением с веб-сервера.К сожалению, я не нашел надежного способа сделать традиционный push, когда веб-сервер инициировал бы соединение с клиентом (из моего ограниченного исследования выяснилось, что были предложения по стандарту http для поддержки push, однако это нене похоже на широко принятый стандарт, когда-либо появлявшийся).Тем не менее, это может быть сделано более окольным путем.
Существует способ обойти ограничение толчка, которое обычно используется:
- Браузер подключается к странице, загружаеттекущее «состояние» базы данных.Переменная сеанса (назовем ее $ _SESSION ['currentState']) сохраняется с начальным состоянием базы данных.Таймер javascript в браузере клиента начинает тикать (допустим, что таймер длится 10 секунд).
- Когда время таймера истекает, на сервере выполняется сценарий AJAX.Давайте назовем этот скрипт "updateValues.php".updateValues.php проверяет новое состояние базы данных.Если база данных отличается от $ _SESSION ['currentState'], мы возвращаем любые внесенные изменения в некоторой удобной форме (json, xml и т. Д.) И обновляем $ _SESSION ['currentState'] с новым состоянием.Если не было никаких изменений, мы отвечаем с чем-то в такой степени.
- После получения данных браузер выполняет некоторый javascript, который затем обновляет рендеринг в браузере, если были внесены изменения в БД, и затем перезапускается.таймер.
- goto 2.
Единственное, чего вам не хватает здесь в типичном push-уведомлении, - это 10-секундная задержка (или то, что вы выбираете для таймера).