我试图使用mosquitto(在一个VM sudo apt-get install mosquitto内)使用node.js和这个mqtt.js异步库发布/订阅MQTT消息:https://github.com/mqttjs/async-mqtt
之后……
首先,你可以 的 不 强> 确定哪个客户在MQTT上发布了关于主题的给定消息 * 协议级别。该信息在任何协议级别信息中都不存在。如果您需要该信息,则需要将其包含在您发送的消息的有效负载中,并在消息发送后对其进行过滤。
至于代码,您正尝试使用连接到安全的MQTT代理 mqtts://
mqtts://
mqttSession.client = MQTT.connect(`mqtts://${hostPort}`, {
除非您在VM中专门配置了Mosquitto,否则它将在端口1883上运行正常的不安全MQTT
如果你删除了 s 代码对我的经纪人运行良好。
s
mqttSession.client = MQTT.connect(`mqtt://${hostPort}`, {
* 这个带有新MQTT v5.0规范的MQTT v3.x可以选择添加额外的元数据,但是只有在消息传递完成后,您才能在订阅时过滤。