我正在使用泛美卫生组织和莫西托进行MQTT通信。我们必须同时支持序列化模型- xml和json。因此,我正在研究如何识别MQTT中的内容类型或有效负载类型。在MQTT中是否有类似的HTTP内容类型来快速识别它?
内容-类型:应用程序/json
内容-类型: application/xml
谢谢
发布于 2015-08-13 13:13:24
不,MQTT有效负载只是字节数组,头中没有空间(因为MQTT被设计成在网络上尽可能轻的重量)。其他一切都取决于要在有效负载中实现的应用程序。
您可以使用多个主题来显示差异。
例如foo/bar/xml或foo/bar/json,并订阅foo/bar/+,这两者都匹配,然后根据主题进行切换。
或者只测试有效负载的第一个字符'{‘= json '<’= xml
发布于 2021-12-21 14:41:44
2021答复
MQTT 5.0引入了属性的概念。基本上,属性是UTF-8字符串键值对,可以添加到MQTT数据包中.新规范还定义了payload-format
和content-type
,以传递关于负载中包含的MIME类型的信息。因此,原则上,您可以在应用程序中使用此属性,就像在HTTP中使用Content-Type
报头一样。
https://stackoverflow.com/questions/31988877
复制相似问题