我正在使用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/