Динамични канали с Android и MQTT

Документирам по една тема, за която съм объркан. Използвам MQTT с Android. Мога успешно да регистрирам клиенти и да изпращам съобщения до статични канали. Създадох два канала и абонирах един клиент за един канал, а другия за друг канал. Всеки канал получава правилните съобщения. Много доволен от това.

Сега се опитвам да имам динамични канали, за да знам всеки клиент кой идентификатор има и с кой канал използва. Не разбирам как да го направя. Когато „регистрирам“ клиент към брокера на mosquitto, мога да се абонирам за „фалшив“ канал (разбрах, че брокерът създава този канал, ако не съществува, нали?), но как мога да разбера кой клиент кой канал слуша? Благодаря ви за всякакви идеи.


person Gabriela Radu    schedule 07.01.2013    source източник


Отговори (1)


Само за да изясня малко нещата - MQTT всъщност няма концепция за статични или динамични канали. Ако публикувате или се абонирате за тема, или ако съществува запазено съобщение за тази тема, значи то съществува, в противен случай не съществува.

Протоколът не предоставя никакви средства за определяне на това какви клиенти слушат кои теми. Можете обаче да приложите това на ниво приложение. Откриването дали даден клиент е свързан или не може да се направи с помощта на механизма за присъствие, описан тук: http://mqtt.org/wiki/doku.php/presence и трябва да можете да направите нещо подобно, за да определите кои клиенти за кои теми се абонират.

person ralight    schedule 08.01.2013