使用 M2Mqtt 的 HiveMQ 共享订阅

HiveMQ shared subscriptions using M2Mqtt

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

M2Mqtt 似乎不支持共享订阅。有解决方法吗?我还需要坚持才能使用共享订阅。

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

使用 MQTTnet 库

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

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

问题是您的基本主题 /my_topic

有前导 /

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

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

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

此外,客户端库不了解共享订阅,这完全是代理端功能。所有客户都应该 "just work"