【问题标题】:Paho MQTT Javascript subscription to multiple topics?Paho MQTT Javascript 订阅多个主题?
【发布时间】:2016-11-17 07:47:41
【问题描述】:

如何订阅多个主题并在接收时记录内容?

function subscribe()
{
   var topic = "Device/MainTopic1/";
   var topic1 = "Device/MainTopic2/";
   var qos = "0";

   client.subscribe([(topic, {qos: Number(qos)}), (topic1, {qos: Number(qos)})]); // Not working
		
   client.subscribe(topic,{qos: Number(qos)}); // Single topic Working - Could only invoke once	
}

目前根据我目前的研究发现这个问题记录在 git 中。任何指针都会有所帮助。 https://github.com/eclipse/paho.mqtt.javascript/issues/16

【问题讨论】:

  • 编辑问题以包含您已经拥有的代码,有人会帮助您修复它。

标签: javascript mqtt paho


【解决方案1】:

正如关于该 git 问题的评论中所述,您可以针对您需要的每个主题多次调用 subscribe。目前在 Javascript 客户端中没有单个调用来订阅多个主题。

function subscribe()
{
    var topic = "Device/MainTopic1";
    var topic1 = "Device/MainTopic2";
    var qos = 0;

    client.subscribe(topic,{qos: qos});
    client.subscribe(topoic1,{qos:qos});
} 

这应该可以正常工作。

此外,主题不应有尾随或前导 '/' 字符,它们会在主题树中添加空元素,使它们更难正确通配符

【讨论】:

  • 感谢 hardillb。删除了前导“/”字符。根据您的建议进行尝试时,onMessageArrived 事件中仅收到一条消息。之后在 onMessageArrived 事件中不会收到在不同主题中发布的消息。
  • 编辑问题,让您的留言功能也一样
猜你喜欢
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 2016-06-10
相关资源
最近更新 更多