MQTT 特性简介
所属分类 IOT
浏览量 81
mqtt Message Queuing Telemetry Transport
QoS0 QoS1 QoS2 auth bridge $SYS SSL dynamic-topics cluster websockets plugin-system
MQTT协议定义了三种服务质量(QoS)级别,分别是QoS0 QoS1 和 QoS2,确保消息在不同网络环境下的可靠传输
QoS 0(最多交付一次)
最低的QoS级别
消息即发即弃,不需要等待确认,不需要存储和重传。
因此,接收方永远不需要担心收到重复的消息。
使用QoS 0可能会丢失消息,因为消息在传输过程中可能被丢弃或未被接收。
QoS 1(至少交付一次)
中等的QoS级别。
发送方必须为每个新的应用程序消息分配一个未使用的Packet Identifier,并将其与QoS 1和DUP标志一起发送到PUBLISH数据包中。
发送方必须等待相应的PUBACK数据包才能确认该PUBLISH数据包已被接收。
使用QoS 1可以保证收到消息,但消息可能重复。
QoS 2(仅交付一次)
最高的QoS级别。
确保消息既不丢失也不重复。
使用QoS 2可以保证消息只被接收一次,且不会丢失。
QoS 2是最高且最慢的级别,因为它需要至少两个请求/响应流之间的交互
auth(认证) :用于验证客户端的身份,确保只有授权的客户端可以连接到MQTT服务器。
bridge(桥接) :允许一个MQTT代理连接到另一个代理,并在它们之间转发消息。
$SYS(系统主题) :用于发布系统级别的消息,如代理状态、连接信息等。
SSL(安全套接层) :用于加密MQTT通信,确保数据传输的安全性。
dynamic-topics(动态主题) :允许在运行时创建和删除主题,增加了系统的灵活性。
cluster(集群) :支持多个MQTT代理组成一个集群,提高系统的可用性和扩展性。
websockets:支持通过WebSocket协议进行MQTT通信,增加了与Web应用的集成能力。
plugin-system(插件系统) :允许开发者扩展MQTT服务器的功能,通过插件实现自定义逻辑。
上一篇
下一篇
java NIO ByteBuffer 读写整数
java NIO ByteBuffer 使用技巧
smartsocket 整数读写实例
20240930 A股刷新多项历史记录
MQTT协议简史
序列化协议及选型