我一直在寻找有关此问题的答案,但找不到任何好处。我有一个关于cloudant的监听器,我在NodeJS中构建了它。因此,当cloudant更新时,我的代码中的函数会被调用。我的问题是这些数据应该作为前端应用程序中的实时数据提供。如果我将监听器放在API端点/中间件中,除非它从前端收到请求,否则它不会被调用我猜?
所以我的问题是:如何在后端创建一个侦听器,只要云量出现变化,就可以将数据发送到前端?基本上我想要一个前端的监听器来监听后端的监听器。
答案 0 :(得分:1)
因此,您正在寻找的是从服务器向客户端发送或“推送”数据的能力。这样做的典型方法是使用webSocket或socket.io连接。客户端连接到服务器并创建与服务器的持久连接。从那时起,服务器可以随时通过该连接向客户端发送数据。然后,客户端在该连接上创建一个侦听器,以便它知道何时有传入数据,然后它可以根据数据进行相应的操作。
webSocket是支持此类功能的标准内置浏览器。 socket.io是一个基于webSocket连接构建的附加客户端和服务器层,它添加了许多有用的功能,如连接中断时自动重新连接,JSON消息定义层,因此您不必定义自己的数据格式等...
以下是通常的工作原理:
socket.io documentation为客户端和服务器提供了几段示例代码,以向您展示如何编程。