【问题标题】:Persisting server-side data across an array of clients [duplicate]在一组客户端中持久保存服务器端数据[重复]
【发布时间】:2016-11-05 16:16:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: php database web-services


    【解决方案1】:

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

    1. 每个用户订阅一个频道(将其视为在连接上注册一个事件监听器)。在服务器端,脚本会持续运行以跟踪更改
    2. 用户向服务器发布更新。
    3. 脚本注意到更新并发出事件
    4. 订阅频道的所有客户端都会收到该事件,读取其data 属性并更新其本地模型。

    请参阅this introduction,以及示例 PHP 实现。

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

    【讨论】:

      【解决方案2】:

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

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

      查看开始页面,您会找到网络、iOS 和 Android 教程。 http://firebase.google.com

      【讨论】:

        猜你喜欢
        • 2012-02-21
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 2023-03-14
        • 2018-03-03
        • 1970-01-01
        • 1970-01-01
        • 2012-11-29
        相关资源
        最近更新 更多