【问题标题】:Publish MQTT message via javascript通过 javascript 发布 MQTT 消息
【发布时间】:2019-02-10 09:21:23
【问题描述】:

我正在尝试使用 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,它应该工作。为什么不呢?

【问题讨论】:

    标签: javascript mqtt paho


    【解决方案1】:

    首先,QOS 仅在客户端和代理之间,而不是在 2 个客户端之间,因此即使消息在 QOS 1 发布,如果客户端在 QOS 0 订阅,客户端也会看到。

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

    【讨论】:

    • 感谢您提供的信息,很高兴知道。但我还是觉得有什么不对。例如。新连接的客户端接收旧值。这让我相信我的新消息上的保留标志实际上没有设置。
    • 旧值是什么意思?新客户端将始终收到带有保留位集的最后一条发布的消息
    猜你喜欢
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多