2016-07-04 58 views
0

我有一個PHP網站和一個SQL數據庫。用戶將能夠用手機更新這些數據。我希望所有用戶都能收到這些更新。我將如何做到這一點?在客戶端陣列中保留服務器端數據

我可以簡單地使用ajax和一個計時器讓每個客戶端請求以給定的時間間隔更新。

有沒有辦法設置排序回調,以便服務器上的服務調用方法實例列表?這將防止不必要的請求和數據傳輸...

回答

2

如果您不想使用像@Alexandre Martin建議的那樣的第三方解決方案,則可以使用Server Sent Events。流程如下:

  1. 每個用戶訂閱一個頻道(認爲它是在連接上註冊一個事件監聽器)。在服務器端,腳本連續運行以跟蹤更改
  2. 用戶向服務器發佈更新。
  3. 腳本注意到更新併發出事件
  4. 所有訂閱該頻道的客戶都會收到該事件,讀取其data屬性並更新其本地模型。

請參閱this introduction,附帶示例PHP實現。

您也可以使用Web套接字。這是一個comparison of the two。在實施前,請考慮browser compatibility

0

您可以使用Firebase創建在線數據庫,並在檢測到互聯網連接時立即向客戶端發送上傳和下載消息(也稱爲)雲消息傳遞

SQLite直接在設備上管理離線操作,並自動與Firebase同步。

看看開始頁面,你會發現網頁,iOS和Android教程。 http://firebase.google.com