MQTT协议整理
1、定义
MQTT是一个轻量级的采用Broker的基于TCP(默认端口号1833)的发布/订阅式异步遥信消息队列传输应用层协议。设计初始目的是为大量计算能力有限、工作在低带宽、不可靠的远程传感器和控制器设备通讯,非常适合物联网通信。IBM公司1999年提出的。
2、服务质量
Qo0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络,分发的消息可能丢失或重复,不会收到发布确认响应。
例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送
Qo1:“至少一次”,确保消息可以到达,但消息可能会重复;
Qo2:“只有一次”,确保消息只收到一次。publisher缓存了message和msgID,而服务器缓存了msgID,两方都做记录所以可以保证消息不重复,但是由于记录是需要删除的,