2014-12-03 33 views
0

我想寫一個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循環,永遠不會結束(因爲它是一個流)