【问题标题】:how to notify subscription failure in publisher client of mqtt broker如何在 mqtt 代理的发布者客户端中通知订阅失败
【发布时间】:2019-12-12 15:33:22
【问题描述】:

我有一个 vernemq MQTT 代理。

我尝试通过 QOS 1 将消息从 client-1 发布到代理,并从代理获得了一条 PUBACK 消息。但订阅者客户端 2 未收到此消息。

如何在 client-1 中通知此故障

【问题讨论】:

    标签: mqtt mqtt-vernemq


    【解决方案1】:

    你没有。

    MQTT 中没有端到端的传递通知。 QOS 水平一次仅涵盖 1 个交付段。

    例如以 QOS 1 发布的发布者将确认消息已到达代理,并且不会进一步。但是任何给定的客户端(可能有 0 到 n)可能已经订阅了 QOS 0,因此不会确认下游传递。

    如果您想要端到端交付,您需要自己构建它,方法是在消息负载中包含一个唯一 ID,并让任何订阅的客户端回复(通常在单独的主题上)他们已收到该消息。

    【讨论】:

    • 有没有办法从代理获取失败信息到发布者客户端
    • 不,这是不可能的。那将是端到端的交付通知,我已经说过不在协议中
    • 答案还是没有
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多