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