mqtt有效载荷内容无效,ftp

时间:2019-08-07 02:08:00

标签: mqtt

我正在尝试使用MQTT(实际上是mqtt-sn)做某件事-并且想知道报告错误的方式。

在MQTT上使用命令/响应式模式时-应该如何报告响应错误?

  • 示例1:类似MQTT上的FTP。

    • 主机发送“删除文件名”-我将如何报告“找不到文件”
  • 示例2:设备具有可配置的传感器。

    • 主机发送“配置传感器:参数1 = A,参数=”

问题:如何报告“无效的参数值”?

我当然可以发明自己的方法,我宁愿不这样做。

编写python的人会说类似的东西:“ python的实现方式是___”

我正在寻找的答案是:“执行命令/响应错误报告的MQTT-ic方法是:______”。

MQTT-SN规范中的当前ERROR代码列表仅限于1个错误“无效”

请参阅:http://www.mqtt.org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf 5.3.10节,表5。

1 个答案:

答案 0 :(得分:0)

MQTT实际上只是一个消息交换协议-它只涉及消息的发出,路由和接收方式。

真正由应用程序实现者指定底层消息格式是什么以及消息的含义。您的消息可以是打包的二进制有效负载,也可以是JSON字符串有效负载-MQTT不会阻止您使用任何一种。因此,实现您的要求并不是真正的“ MQTT-ic方法”!

但是,使用MQTT实际执行请求/响应消息传递范式(本质上是发布/订阅协议)是该标准指定的,但仅在MQTT 5中才正式指定。标准Section 4.10可能如果您的客户端库尚未为您提供此功能,请提供一个有关如何实现此功能的想法。

但是请注意,这仅描述了客户端如何将request消息与其成对的response消息相关联。您要询问的应用程序级逻辑不在MQTT标准范围内。

除非您的应用程序对性能特别重要,否则我建议使用JSON字符串作为消息有效负载。