【问题标题】:Dealing with data changes on server in single page web apps在单页 Web 应用程序中处理服务器上的数据更改
【发布时间】:2017-07-30 08:25:21
【问题描述】:

假设我们正在构建一个单页论坛应用。许多用户可以随时发布新帖子。 单页应用程序如何知道服务器上的数据已更改(即添加了新帖子)。

它可以定期从服务器请求新数据,但效率很低,在 Firebase 中同步数据非常简单,只需添加一个回调函数,当数据更改时调用该函数。

我不确定这通常是在单页网络应用程序中实现的方式(如果不是,为什么不这样做)。 This 是我发现的唯一一个做类似事情的库。但同样,这并不是我想要的。在该示例中,服务器只是通知客户端数据已更改,但随后客户端必须请求数据并等待响应......这比在数据更改时仅接收 JSON 效率低。

当有人回答这个问题时,我会立即看到答案,无需刷新页面。它是如何做到的,它是定期请求新数据,还是服务器在有新数据时简单地发送新数据?或者它只是通知客户端和客户端而不是请求新数据?

【问题讨论】:

    标签: angular reactjs single-page-application data-synchronization


    【解决方案1】:

    看看socket.io

    Socket.IO 支持基于事件的实时双向通信。 它适用于所有平台、浏览器或设备,同样注重可靠性和速度。

    在服务器上,您将设置一个套接字并使用socket.emit(eventName[, ...args][, ack]) 发出一个客户端可以监听的事件。

    在客户端上,您将设置一个套接字并使用socket.on(eventName, callback) 使用回调更新您的客户端应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多