2016-11-11 5 views
0

Я пытаюсь выяснить, возможно ли иметь двух клиентов paho.mqtt (https://eclipse.org/paho/clients/python/docs/), подписывающихся на тот же сервер. Оба клиента и сервер работают на одном хосте. Моя цель состоит в том, чтобы два клиента подписались на разные учетные данные на один и тот же сервер (что в моем случае - rabbitmq с плагином mqtt), поэтому я могу сортировать свои полезные данные с помощью vhosts (не по теме, так как у меня нет контроля над темами).Два клиента paho.mqtt, подписывающиеся на один и тот же локальный клиент

Мои наблюдения на данный момент является то, что клиенты просто держать Reconnecting, которые предполагают, что я либо делаю что-то не так или что там может быть только один клиент подключается к серверу MQTT в то время ...

Так вот вопрос: вы могли запустить более одного клиента, подписанного на тот же сервер, где все клиенты и сервер выполнялись локально?


Edit:

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

Огромное спасибо @hardillb, который помог с этим вопросом и связанным с ним вопросом.

ответ

2

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

+0

Таким образом, оба клиента имели одинаковый идентификатор клиента. Еще раз спасибо! Возможно, вам будет интересно узнать, что если вы используете RabbitMQ с плагином MQTT, вы можете разделить полезную нагрузку с помощью идентификатора пользователя, так как полезная нагрузка попадает под разные vhosts. Таким образом, я достиг функциональности, я искал другой вопрос и с вашей помощью здесь у меня есть все, что мне нужно. Еще раз спасибо! – Greg0ry