在一组客户端中保留服务器端数据

时间:2016-07-04 02:18:43

标签: php database web-services

我有一个PHP网站和一个SQL数据库。用户可以使用手机更新此数据。我希望所有用户都能收到这些更新。我该怎么做?

我可以简单地使用ajax和一个计时器让每个客户端以给定的间隔请求更新。

有没有办法设置排序回调,以便服务器上的服务调用方法实例列表?这样可以防止不必要的请求和数据传输......

2 个答案:

答案 0 :(得分:2)

如果您不想使用像@Alexandre Martin建议的第三方解决方案,您可以使用服务器发送事件。流程如下:

  1. 每个用户订阅一个频道(将其视为在连接上注册事件监听器)。在服务器端,脚本连续运行以跟踪更改
  2. 用户向服务器发布更新。
  3. 脚本会注意到更新并发出事件
  4. 订阅该频道的所有客户都会收到该活动,阅读其data媒体资源并更新其本地模特。
  5. 参见this introduction,示例PHP实现。

    您也可以使用Web套接字。这是一个comparison of the two。在实施之前,请考虑browser compatibility

答案 1 :(得分:0)

您可以使用Firebase创建在线数据库,并在检测到互联网连接后立即向客户端发送上传和下载邮件(也称为云端邮件

SQLite直接在设备上管理离线操作,并自动与Firebase同步。

查看使用入门页面,您将找到网络,iOS和Android教程。 http://firebase.google.com