深入理解mqtt协议,mqtt测试

本文深入探讨MQTT协议,这是一种轻量级的发布/订阅消息协议,常用于物联网和嵌入式设备。其特点是使用TCP/IP连接,提供三种服务质量:至多一次、至少一次和只有一次,确保消息可靠性。此外,MQTT还支持Last Will和 Testament特性,以应对客户端异常中断的情况。文中通过实例详细解析了MQTT的结构、消息类型和QoS等级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MQTT协议

MQTT是轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽和远程设备连接。例如通过卫星和代理连接,通过拨号和医疗保健提供者连接,以及在一些自动化或小型设备上,而且由于小巧,省电,协议开销小和能高效的向一和多个接收者传递信息,故同样适用于称动应用设备上

 

Mqtt协议特点

1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。

2.协议简单,最小的头部只需2个字节,特别适合于嵌入式中。

3.对负载内容屏蔽的消息传输。

4.使用 TCP/IP 提供网络连接。

5.有三种消息发布服务质量:

(1) “至多一次,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

(2) “至少一次,确保消息到达,但消息重复可能会发生。

(3) “只有一次,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

 

6. 使用 Last Will Testament 特性通知有关各方客户端异常中断的机制。

 

 

PUB/SUB 模型

 



 

Mqtt结构

固定头部,使用两个字节,共16位:

bit

7

6

5

4

3

2

1

0

byte 1

Message Type

DUP flag

QoS level

RETAIN

byte 2

Remaining Length

 

消息类型

使用4位二进制表示,可代表16种消息类型

Mnemonic

Enumeration

Description

Reserved

0

Reserved----保留待用

CONNECT

1

Client request to connect to Server----客户端连接请求

CONNACK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值