参考资料

1.首页 | MQTT中文网

2.MQTT-3.1.1标准协议文档.pdf

一、环境搭建

1.1 EMQX

1.1.1 启动emqx服务器

image-20250514154503630

1.1.2 进入EMQX网址

1
http://127.0.0.1:18083/
  • 默认用户名:admin
  • 默认密码 :public

已修改为

  • 账号:admin
  • 密码:DWen_666

1.1.2 用户端认证

-

QQ_1747209189624

-

<style>.bugoqkrcifbp{}</style>{% asset_img bugoqkrcifbp QQ_1747209297266.png '"""QQ_1747209297266"' %}

-

image-20250514155638677

1.1.3 创建两个用户

1
2
3
4
5
6
7
8
9
10
11
//用户1
ClientID:USER001
用户名:USER001
密码:USER001
Topic:USER001

//用户2
ClientID:USER002
用户名:USER002
密码:USER002
Topic:USER002

1.2

二、 MQTT协议报文总览

MQTT-3.1.1标准协议

image-20250514181937256

2.1 剩余长度

  • 剩余长度 = 可变报头的长度 + 有效荷载的长度

  • 剩余长度字段为 1-4个字节

    image-20250514185312204

3.1.1 100举例

image-20250514185616226

3.1.2 2000举例

image-20250514185701630

3.1.3 50000举例

image-20250514185746492

三、编写报文

3.1 CONNECT-连接服务端

3.2 CONNACK-确认连接请求

3.8 SUBSCRIBE-订阅主题

3.9 SUBACK-订阅确定

3.10 UNSUBSCRIBE-取消订阅

3.11 SUBACK-取消订阅确定

3.12 PINGREQ-心跳请求

连接保活

image-20250725130312204
1
C0 00

3.13 PINGRESP-心跳响应

image-20250725130442950
1
D0 00

3.14 断开连接(P46)

image-20250725130026095
1
E0 00