【问题标题】:Realtime status of hardware connected to server using ExpressJS使用 ExpressJS 连接到服务器的硬件的实时状态
【发布时间】:2016-07-29 12:52:31
【问题描述】:

我有一台 linux 机器,我想在其上使用 ExpressJS 运行本地服务器。几台仪器通过 USB 转 RS485 适配器连接到该机器,该适配器可以使用 NodeJS 进行控制和更新。我想要做的是显示仪器(主要是压力表)的实时状态馈送并更新一些显示仪表正在测量的当前压力的图表。我已经有一个运行 ExpressJS 的服务器,但我不知道如何使用于控制硬件的节点代码影响状态。我是否必须运行节点代码服务器端,然后使用 socket.io 将数据发送到客户端,还是有一些更简单的方法。我对 expressJS 和 webapps 完全陌生,所以如果您能指出正确的方向并向我解释它是如何工作的,那就太好了。

【问题讨论】:

  • 从实时部分来看,socket.io 会比 express 好,所以你最终应该用 express 服务网页,用 socket.io 服务状态。在检索数据时,您首先如何获得它?一个简单的设置是检索它并使用 socket.io 上的新值推送事件
  • 因此,数据检索的工作方式是每次我获得新的压力值时都会触发一个事件。我现在正在玩 socket.io,我想我会按照你的建议去做。

标签: node.js express server client-server hardware


【解决方案1】:

Express 是一个构建 Web 服务器的框架,虽然它的功能非常好,但它的功能却不是实时。

相反,socket.io 非常擅长实时传输。

您应该做的是使用 Express 提供您的“状态”页面,该页面连接到 socket.io 并订阅您的“数据”事件。

那么你所要做的就是,当你检索数据时,用socket.io发送事件,使数据近乎实时地出现在网页上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    相关资源
    最近更新 更多