Node.js Mqtt客户端:匹配主题

问题描述:

我有mqtt客户端,来自mqtt节点模块。Node.js Mqtt客户端:匹配主题

我订阅议题为例TOPIC1 /#,标题2 /#

当有人发布到TOPIC2/165(用于为例),我想知道,订阅主题 “标题2 /#” 匹配。

有没有简单的方法来做到这一点?

使用正则表达式

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