在我目前的项目中,我们正在尝试使用Node-RED实现一项功能,用于实验和探索新技术。
功能如下所示。在此,BadgeReader
使用publish-subscribe
向Proximity
发布其数据(可以使用MQTT
中的Node-Red
轻松实现。 Proximity
组件从BadgeReader
接收数据,并使用该数据使用ProfileDB
互动模式与request/response
进行互动。现在,我的问题是---我们如何在Node-RED中实施请求/响应交互? (注意 - 可以使用MQTT实现请求/响应,但是这个问题与Node-RED中的专用请求 - 响应功能有关吗?)
答案 0 :(得分:0)
所有可用的数据库节点都允许您发送查询并接收回复,然后再转到流中的下一个节点。
还有一个http请求节点,它将对远程服务的HTTP调用执行相同的操作。
您无法使用Node-RED MQTT节点执行此操作,因为它们可以启动流程或结束流程。 MQTT是异步的,发布者应该与订阅者完全分离,因此无法知道消息是否到达订阅者,因此无法正确处理错误情况或超时。虽然可以使用MQTT进行请求/响应,但它并不适合这项任务。
如果你想用MQTT或其他东西做这件事,那么你可能不得不考虑编写自己的节点,Node-RED中没有内置的通用请求/响应功能。
P.S。鉴于过去几天你的问题流,你应该在这里查看Node-RED邮件列表:
https://groups.google.com/forum/#!forum/node-red
它比Stack Overflow
更适合回答你的问题