【问题标题】:HiveMQ shared subscriptions using M2MqttHiveMQ 使用 M2Mqtt 共享订阅
【发布时间】:2018-10-23 11:37:00
【问题描述】:

如果订阅者的主题为$share/group/my_topic,它不会收到任何消息,但如果我将主题更改为/my_topic - 一切正常。

M2Mqtt 似乎不支持共享订阅。有解决方法吗?我还需要持久性来处理共享订阅。

如果没有解决方法,欢迎提供给其他库!

【问题讨论】:

    标签: c# mqtt hivemq


    【解决方案1】:

    我无法对此进行测试,但我有一个理论。

    问题是您的基本主题/my_topic 上有一个领先的/

    如果您删除它并在my_topic 上发布消息,那么共享主题应该匹配。

    有一个前导 / 会向主题添加一个空元素,您不能将其包含在 $share/group/[null]/my_topic

    虽然在 MQTT 规范中允许使用 /,但它被认为是不好的做法(并可能导致此类问题)。

    客户端库也不知道共享订阅,这完全是代理端功能。所有客户端都应该“正常工作”

    【讨论】:

    • 实际上,从主题中删除/ 解决了问题,M2Mqtt 也可以。
    【解决方案2】:

    使用 MQTTnet 库

    可以在https://github.com/chkr1011/MQTTnet 或 NuGET 包中找到它。
    据我测试,它可以完成这项工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2021-11-28
      • 2020-11-29
      • 2016-08-23
      • 2014-10-06
      • 2017-04-25
      • 2022-10-23
      相关资源
      最近更新 更多