C# 使用M2Mqtt的HiveMQ共享订阅

C# 使用M2Mqtt的HiveMQ共享订阅,c#,mqtt,hivemq,C#,Mqtt,Hivemq,如果订阅服务器的主题为$share/group/my_topic,则不会收到任何消息,但如果我将主题更改为/my_topic,则一切正常 似乎M2Mqtt不支持共享订阅。有解决办法吗?我还需要持久性来处理共享订阅 如果没有解决方法,欢迎提供给其他库 使用MQTTnet库 可在https://github.com/chkr1011/MQTTnet或作为NuGET软件包。 就我所测试的而言,它很好 我无法测试这一点,但我有一个理论 问题是您的基本主题/my\u主题 如果删除此项并在my_topic上

如果订阅服务器的主题为
$share/group/my_topic
,则不会收到任何消息,但如果我将主题更改为
/my_topic
,则一切正常

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

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

使用MQTTnet库

可在
https://github.com/chkr1011/MQTTnet
或作为NuGET软件包。

就我所测试的而言,它很好

我无法测试这一点,但我有一个理论

问题是您的基本主题
/my\u主题

如果删除此项并在
my_topic
上发布消息,则共享主题应匹配

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

虽然在MQTT规范中允许引导
/
,但这被认为是错误的做法(并可能导致类似的问题)


此外,客户端库不知道共享订阅,这完全是代理端的特性。所有客户端都应该“只工作”

实际上,从主题中删除
/
解决了问题,M2Mqtt也可以工作。