2014-12-03 2 views
0

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

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

- это то, что я предлагаю? Я начал использовать сервер Sent Events, но havn't получил надлежащие повесить его ...

<?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 цикл, который никогда не заканчивается (потому что это поток)

Смежные вопросы