一、MQTT协议结构
基于TCP/IP协议之上的发布/订阅模式通讯协议。发布者(Publisher)发布消息给代理服务器(Broker),代理服务器将消息推送给订阅者(Subscribe)。注意:消息的发布者和订阅者都是客户端,消息代理者是服务器,消息发布者也可是订阅者。
二、MQTT协议消息的传输
-
主题(Topic),消息的名称,订阅者订阅后,就会收到该主题的消息内容
-
负载(payload),其实就是消息的内容
-
基于字节流的双向传输:对传输消息有三种服务质量(QoS)。
-
QoS 0(最多一次):在这个级别下,消息被发送一次,不进行重试或确认。发送者将消息发布到主题,然后立即忘记它。接收者会尽力接收消息,但无法保证消息是否被成功接收。这种级别适用于不需要确保消息可靠性的场景,例如传感器数据的实时更新。
-
QoS 1(至少一次):在这个级别下,消息被发送至少一次,并且确保至少被接收一次。发送者将消息发布到主题,并等待接收者的确认。如果没有收到确认,发送者会重试发送消息。接收者会确保消息至少被处理一次,但可能会出现重复消息。这种级别适用于需要确保消息至少被处理一次的场景,例如控制指令。
-
QoS 2(只有一次):在这个级别下,消息被发送且确保只被接收一次。发送者将消息发布到主题,并等待接收者的确认。接收者会确保消息只被处理一次,并发送确认给发送者。如果没有收到确认,发送者会重试发送消息。这种级别适用于需要
-