2015-08-12 4 views
-1

я работаю на MQTT и с помощью питона ПОЗ-MQTT https://pypi.python.org/pypi/paho-mqttMQTT опубликовать сообщение для избранных клиентов

Я не могу понять, как я могу опубликовать сбщ для конкретного клиента или список клиентов?

Буду признателен за вашу помощь.

+1

Я не знаю, в частности, MQTT, но обычно с системами очереди сообщений, которые вы не публикуете клиенту, вы публикуете сообщения с определенным ключом, а клиенты решают, подписываются ли они на этот ключ. –

ответ

1

Это невозможно напрямую со строгим MQTT, хотя некоторые брокеры могут предлагать эту функциональность, или вы можете создать свое приложение, чтобы дизайн темы работал над тем, что вам нужно.

0

Хотя я согласен с тем, что в некоторых случаях было бы полезно отправить сообщение конкретному клиенту (или списку клиентов), что просто не работает с парадигмой обмена публикацией/подпиской. Read more on the publish-subscribe pattern on Wikipedia. Если все, что требуется вашей системе, - это отправлять сообщения уникальным клиентам, то я, возможно, предложил бы подумать о другой архитектуре для вашей системы. При этом вы можете использовать pub/sub для достижения того, что хотите, используя умную архитектуру дизайна темы.

Например, давайте предположим, что все клиенты являются частью группы (список), вы могли бы думать о следующей теме дизайна:

Уникальный для одного клиента: клиент/имя-P2P <>

Список/подписка Группа: LIST/< имя_списка>

Например, P2P/user12345 и LIST/QA, где только пользователь12345 подписывается на P2P/user12345, но все пользователи группы QA подписываются на LIST/QA.

Обязанностью клиента является обеспечение того, чтобы он подписался на свою собственную тему (или если ваш брокер разрешает ее, вы также можете добавлять темы административно к нечистым клиентам).

С помощью этого дизайна издатель сможет отправить сообщение определенному пользователю или всем членам определенной группы (списка).

Смежные вопросы