2016-04-26 3 views
1

У меня есть клиент mqtt, из модуля узла mqtt.Node.js Mqtt client: совпадающая тема

подписаться на темы для Exemple topic1/#, topic2/#

Когда кто-то опубликовать topic2/165 (для Exemple), я хочу знать, что подписались на эту тему "topic2/#" совпадают.

Есть ли простой способ сделать это?

ответ

1

Используйте регулярное выражение

client.on('message', function (topic, message) { 
    var topic1_re = /^topic2\/.*/; 
    var topic2_re = /^topic2\/.*/; 

    if (topic.matches(topic1_re)) { 
    //topic 1 
    } else if (topic.matches(topic2_re)) { 
    //topic 2 
    } 
} 
+0

Да это работает, но я должен просмотреть все мои темы Помеченные. Я думаю, что библиотека mqtt уже делает что-то подобное, поэтому, возможно, есть способ найти подходящую тему. – igor

+1

Нет, библиотека на стороне клиента получает только полную тему, а не ту подписку, которую она сопоставила. Все соответствия выполняются брокером – hardillb

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