使用 nodejs 和 mqtt 在网站上的实时内容
Posted
技术标签:
【中文标题】使用 nodejs 和 mqtt 在网站上的实时内容【英文标题】:real time content on website using nodejs and mqtt 【发布时间】:2017-01-16 17:39:39 【问题描述】:我正在使用 nodeJs 和 express、express-handlebars 和 mqtt 包。
我最近正在尝试更新一个表格,该表格显示当前外部和内部温度的内容。该表格只是网站的一部分,因此值得努力每秒更新此特定表格。 因此,使用对我来说似乎不是正确的答案,并且还会损害设置设置和单击链接的能力。
我已经尝试过使用 Query .load 函数,该函数确实有效,但不能与 express-handelbars 一起正常工作。网站上显示的不是通过 MQTT 传输到我的服务器的内容,而是 temperatureInside 和 temperatureOutside。
任何想法如何解决这个问题?
【问题讨论】:
当你说你正在尝试“更新”它时,你的意思是你希望它自动更新(如服务器通知前端更改),还是你想添加一条记录(现在它有一个新值,所以它是“更新的”) 我希望它自动更新 【参考方案1】:如果您希望表格自动更新,这意味着您需要服务器告诉前端有新数据。这对于标准的 HTTP 请求是不可能的,这就是为什么一些聪明的人构建了 Websockets(WSS 协议)。使用 Node,我为此使用的库是 socket.io
socket.io 的代码既需要在前端导入(告诉您的客户端如何通过 WSS 通信),又需要在 Node 端导入 require
d (npm install socket.io --save
)
从那里,您可以设置服务器和客户端都可以理解的自定义事件。我会让你去阅读文档,但 socket.io 肯定会为你解决问题。我在许多类似的情况下都使用过它。
【讨论】:
见this answer以上是关于使用 nodejs 和 mqtt 在网站上的实时内容的主要内容,如果未能解决你的问题,请参考以下文章
我的 htaccess 规则不适用于实时服务器上的项目(htaccess 在文件夹内)
如何使用 NodeJS mqtt、emqx 订阅所有主题/消息