深入解析MQTT及MQTT - SN协议:架构、特性与实践
1. MQTT协议概述
MQTT是一种广泛应用于物联网(IoT)的消息传输协议,云管理的MQTT代理通常每小时可以处理数百万条消息,并支持数万个发布者。
1.1 数据格式与有效负载
MQTT对数据格式没有严格要求,有效负载可以是文本消息、图像数据、音频数据、加密数据、二进制数据、JSON对象等。不过,JSON文本和二进制数据是最常见的有效负载类型。MQTT允许的最大数据包大小为256 MB,但实际的最大数据有效负载大小取决于云服务提供商和代理。例如,IBM Watson允许的有效负载大小最大为128 KB,而Google支持256 KB。此外,发布的消息可以包含零长度的有效负载,因为有效负载字段是可选的。在使用时,建议与云服务提供商确认有效负载大小,以避免错误和断开连接。
1.2 架构细节
- 名称误解 :MQTT这个名称容易让人误解,实际上该协议本身并没有消息队列。虽然可以对消息进行排队,但通常并不需要这样做。
- 基于TCP :MQTT基于TCP协议,因此能保证数据包的可靠传输。
- 非对称协议 :与HTTP的对称协议不同,MQTT是一种非对称协议。在非对称协议中,节点A与节点B通信时,只需要一方(如A)使用该协议,且所有用于数据包重组的信息必须包含在A发送的分段头中。非对称系统通常有一个主节点和一个从节点,如FTP。而对称协议中,双方都需要安装协议,并且可以互换主从角色,如Telnet。MQTT的这种角色区
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



