javascript - 使用nodejs和mqtt在网站上实时显示内容

标签 javascript node.js

我正在使用nodeJs以及express、express-handlebars和mqtt包。

我最近正在尝试更新一个表格,该表格显示当前外部和内部温度的内容。该表只是网站的一部分,因此值得努力每秒更新该特定表。 因此,使用对我来说似乎不是正确的答案,并且还会损害设置设置和单击链接的能力。

我已经尝试过使用 Query .load 函数,该函数确实可以工作,但不能与express-handelbars 一起正常工作。网站上显示的不是通过 MQTT 传输到我的服务器的内容,而是 {{TemperatureInside}} 和 {{TemperatureOutside}}。

有什么想法可以解决这个问题吗?

最佳答案

如果您希望表自动更新,则意味着您需要服务器告诉前端有新数据。这对于标准 HTTP 请求来说是不可能的,这就是为什么一些聪明的人构建了 Websockets(WSS 协议(protocol))。使用 Node,我为此使用的库是 socket.io

socket.io 的代码需要在前端导入(告诉您的客户端如何通过 WSS 进行通信),并在 Node 端进行 require 导入(npm install socket. io --保存)

从那里,您可以设置服务器和客户端都能理解的自定义事件。我将让您浏览文档,但 socket.io 肯定会为您解决问题。我在很多类似的情况下都使用过它。

关于javascript - 使用nodejs和mqtt在网站上实时显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41682045/

相关文章:

javascript - 如何使用 JQuery 在 d3 中返回国家代码?

javascript - jQuery:删除点击时可调整大小的句柄并在点击时添加它们?

event.preventDefault() VS return false

javascript - 创建一个数组并排除以 : 结尾的对象

javascript - 重复对象中的 Array.push()、不正确或无法理解

javascript - 将变量传递到嵌套的 Handlebars 模板/部分

javascript - jQuery UI Snappable 不返回仅带有 SnapMode 集的内部快照

javascript - 查找单个数组元素是否存在于 mongodb 文档的数组中

node.js - 调用助手(Handlebars)后无法访问数组元素

javascript - 两个模型: Post and Tag, 如何使用Mongoose建立多对多关系?