通过JavaScript发布MQTT消息

时间:2019-02-10 09:21:23

标签: javascript mqtt paho

我正在尝试使用Paho MQTT js客户端通过javascript发布MQTT消息:

gClient = new Paho.Client("192.168.178.34", 9001, "clientId");
gClient.send("mytopic", "myvalue", 1, true);

正如我在另一个MQTT客户端中看到的那样,消息实际上是发送的。但是奇怪的是,QOS是0(不是1),并且消息没有保留。

根据文档https://www.eclipse.org/paho/files/jsdoc/Paho.MQTT.Client.html应该有效。为什么不呢?

1 个答案:

答案 0 :(得分:1)

首先,QOS仅在一个客户端和代理之间,而不是在两个客户端之间,因此,即使该消息在QOS 1上发布,如果客户端已在QOS 0订阅,那么客户端将看到该消息。

第二,我有99%的把握确保当消息作为对新订阅的响应的一部分传递时,您只会看到另一个客户端中设置的保留位。如果您发布保留了保留位的消息,请为该主题订阅一个新客户端。如果客户端已经连接,那么他们将看不到保留的位,因为那只是那时的正常交付。