在一组客户端中持久保存服务器端数据[重复]
Posted
技术标签:
【中文标题】在一组客户端中持久保存服务器端数据[重复]【英文标题】:Persisting server-side data across an array of clients [duplicate] 【发布时间】:2016-11-05 16:16:45 【问题描述】:我有一个 php 网站和一个 SQL 数据库。用户将能够使用手机更新此数据。我希望所有用户都能收到这些更新。我该怎么做?
我可以简单地使用 ajax 和计时器让每个客户端请求以给定的时间间隔更新。
有没有办法设置各种回调,以便服务器上的服务调用方法实例列表?这将防止不必要的请求和数据传输...
【问题讨论】:
【参考方案1】:如果您不想像@Alexandre Martin 建议的那样使用第三方解决方案,您可以使用服务器发送事件。流程如下:
-
每个用户订阅一个频道(将其视为在连接上注册一个事件监听器)。在服务器端,脚本会持续运行以跟踪更改
用户向服务器发布更新。
脚本注意到更新并发出事件
订阅频道的所有客户端都会收到该事件,读取其
data
属性并更新其本地模型。
请参阅this introduction,以及示例 PHP 实现。
您也可以使用 Web 套接字。这是comparison of the two。在实施之前,请考虑browser compatibility。
【讨论】:
【参考方案2】:您可以使用 Firebase 创建在线数据库,并在检测到互联网连接后立即向客户端发送上传和下载消息(也称为云消息传递)
SQLite 直接在设备上管理离线操作,并自动与 Firebase 同步。
查看开始页面,您会找到网络、ios 和 android 教程。 http://firebase.google.com
【讨论】:
以上是关于在一组客户端中持久保存服务器端数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章