26、深入解析MQTT及MQTT - SN协议:架构、特性与实践

深入解析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的这种角色区
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值