события на стороне сервера от внешнего коммутатора

я пытаюсь написать PHP-код, который будет транслировать значение определенного поля в базе данных, когда другая страница говорит это.

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

возможно ли то, что я предлагаю? Я начал использовать события, отправленные сервером, но у меня не получилось …

 <?php
header('Content-Type: text/event-stream');

require "conf/config.php";

mysqli_report(MYSQLI_REPORT_STRICT);
try {
$con=mysqli_connect(DBSERVER,DBUSER,DBPASS,DBNAME);
} catch (Exception $exp) {
echo "<label style='font-weight:bold; color:red'>MySQL Server Connection Failed.       </label>";
exit;
}

$query = 'SELECT SwitchPressed FROM live_timers WHERE Timer = 1';

$result = mysqli($con,$query);
$data = mysqli_fetch_assoc($result);

echo "data: {$data}\n\n";
flush();

И у меня есть это в моем контроллере,

 var Events = new EventSource('latch.php');

Events.onmessage = function(event) {
console.log(event.data);
};

просто проверяю, работает ли что-то, к сожалению, вот так я не получаю сообщений … заранее спасибо за любую помощь

0

Решение

в MDN док, они используют while цикл, который никогда не заканчивается (потому что это поток)

0

Другие решения

Других решений пока нет …