Общие подписки HiveMQ с использованием M2Mqtt - PullRequest
0 голосов
/ 23 октября 2018

Если подписчик имеет тему как $share/group/my_topic, он не получает никаких сообщений, но если я изменю тему на /my_topic - все работает просто отлично.

Похоже, что M2Mqtt не поддерживаетобщие подписки.Есть ли обходной путь для этого?Мне также нужно постоянство для работы с общими подписками.

Если нет обходного пути, предложения для других библиотек приветствуются!

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

Я не могу проверить это, но у меня есть теория.

Проблема в том, что у вас есть ведущий / по базовой теме /my_topic

Если вы удалите это ипубликовать сообщения на my_topic, тогда общая тема должна совпадать.

Наличие ведущего / добавляет в тему пустой элемент, который нельзя включить в $share/group/[null]/my_topic

Хотя ведение / разрешено в спецификации MQTT, это считается плохой практикой (и может привести к подобным проблемам).

Кроме того, клиентская библиотека не знает об общих подписках, это полностью сторона брокераособенность.Все клиенты должны «просто работать»

0 голосов
/ 23 октября 2018

Использовать библиотеку MQTTnet

Его можно найти в https://github.com/chkr1011/MQTTnet или в виде пакета NuGET.
Насколько я тестировал, он делает свою работу!

...