如果订阅者的主题为$share/group/my_topic
,它不会收到任何消息,但如果我将主题更改为/my_topic
- 一切正常。
M2Mqtt 似乎不支持共享订阅。有解决方法吗?我还需要持久性来处理共享订阅。
如果没有解决方法,欢迎提供其他库!
我无法对此进行测试,但我有一个理论。
问题是您/
在基本主题上有领先地位/my_topic
如果您删除它并在其上发布消息,my_topic
那么共享主题应该匹配。
有一个前导/
会为主题添加一个空元素,您不能将其包含在$share/group/[null]/my_topic
虽然在 MQTT 规范中允许使用前导 a /
,但它被认为是不好的做法(并且可能导致此类问题)。
客户端库也不知道共享订阅,这完全是代理端功能。所有客户都应该“正常工作”
使用 MQTTnet 库
它可以在NuGET 包中https://github.com/chkr1011/MQTTnet
或作为 NuGET 包找到。
据我测试,它可以完成工作!