如何发送使用mqtt-packet库生成的MQTT数据包?

时间:2019-05-07 14:32:41

标签: node.js mqtt

我正在尝试使用自定义有效负载来构建mqtt数据包,并且发现了该节点库https://github.com/mqttjs/mqtt-packet,因为它似乎给了我创建测试自定义有效负载的自由。但是,在创建数据包之后,我看不到如何将其发送到MQTT代理。那么,我是否需要一个MQTT客户端来接受使用mqtt-packet创建的数据包? 如果您还有其他建议来创建和发送自定义mqtt数据包,将不胜感激。

1 个答案:

答案 0 :(得分:1)

MQTT消息有效负载只是字节数组,您可以在其中发送所需的任何内容。

找到的软件包将在MQTT客户端实现中使用,以构建实现MQTT协议所需的实际低级数据包。

您应该只使用普通的MQTT客户端,例如MQTT.js库。

如果要发送带有二进制有效载荷的消息,则只需将Buffer传递给publish方法。来自MQTT.js docs

  

mqtt.Client#publish(主题,消息,[选项],[回调])

     

将消息发布到主题

     

topic 是要发布到的主题,字符串

     

message 是要发布的消息,缓冲区或字符串

     

选项是用于发布的选项,包括:

     
      
  • qos QoS级别,数字,默认0
  •   
  • 保留保留标志,布尔值,默认为false
  •   
  • dup标记为重复标记,布尔值,默认为false

         

    回调-函数(err),在QoS处理完成时触发,   或如果QoS 0,则在下一个刻度。如果客户端为   断开连接。

  •