使用 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"
如果订阅者的主题为 $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"