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
}
}
是它的工作原理,但我不得不浏览我订阅的所有主题。我认为mqtt库已经做了这样的事情,所以也许有一些方法可以直接找到匹配的主题。 – igor
不,客户端库只获取完整的主题,而不是它匹配的订阅。所有匹配都在代理上完成 – hardillb