我正在尝试使用MQTT(实际上是mqtt-sn)做某件事-并且想知道报告错误的方式。
在MQTT上使用命令/响应式模式时-应该如何报告响应错误?
示例1:类似MQTT上的FTP。
示例2:设备具有可配置的传感器。
问题:如何报告“无效的参数值”?
我当然可以发明自己的方法,我宁愿不这样做。
编写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。
答案 0 :(得分:0)
MQTT实际上只是一个消息交换协议-它只涉及消息的发出,路由和接收方式。
真正由应用程序实现者指定底层消息格式是什么以及消息的含义。您的消息可以是打包的二进制有效负载,也可以是JSON字符串有效负载-MQTT不会阻止您使用任何一种。因此,实现您的要求并不是真正的“ MQTT-ic方法”!
但是,使用MQTT实际执行请求/响应消息传递范式(本质上是发布/订阅协议)是该标准指定的,但仅在MQTT 5中才正式指定。标准Section 4.10可能如果您的客户端库尚未为您提供此功能,请提供一个有关如何实现此功能的想法。
但是请注意,这仅描述了客户端如何将request
消息与其成对的response
消息相关联。您要询问的应用程序级逻辑不在MQTT标准范围内。
除非您的应用程序对性能特别重要,否则我建议使用JSON字符串作为消息有效负载。