客户端
发送和接受信息
服务端
运算能力更强,负责分发信息
主题
发布主题和订阅主题
连接服务端
- 客户端名字(唯一),clientid
- 不同的客户端重要性不同,分别对待,cleansession告诉服务器是不是一个重要的客户端,如果不是重要的,那么就会把当前没有成功发送的消息保存起来,之后再发送,重要的要设置false
- keepalive,判断服务端和客户端是不是连接,有些客户端只会接受信息,而不会发送,所以为了保证可以确定两者连接,客户端要定时给服务端发一个信息,这个keepalive便是发送的时间间隔(秒)
连接服务端
返回码:0是成功连接,其他的可以查表
当前会话:保存上一次的消息有没有确认,看看有没有没有发送过去的消息,如果残余,就是true
公用服务器列表
官网地址:http://www.ranye-iot.net
MQTT服务器地址:test.ranye-iot.net
TCP 端口:1883
TCP/TLS 端口:8883
发布订阅
- 包ID
- 主题名字
- qos:服务质量
- returnFlag:
在默认情况下,当客户端订阅了某一主题后,并不会马上接收到该主题的信息。只有在客户端订阅该主题后,服务端接收到该主题的新信息时,服务端才会将最新接收到的该主题信息推送给客户端。
但是在有些情况下,我们需要客户端在订阅了某一主题后马上接收到一条该主题的信息。这时候就需要用到保留标志这一信息。关于保留标志的具体使用方法,我们将在本教程的后续部分进行详细讲解。 - payload:发布的内容
- dupflag:重新发送标志
订阅主题
包含了一系列订阅主题名和服务质量
订阅确认
订阅返回码(0,1,2成功,128失败),报文标志符
取消订阅
- 包id
- 主题名
8266订阅
Qt代码
MainWindow::MainWindow(QWidget