MQTT客户端连接服务端一共有两步

1.首先MQTT客户端将会向服务端发送连接请求。该请求实际上是一个包含有连接请求信息的数据包。这个数据包的官方名称为CONNECT

2.MQTT服务端收到客户端连接请求后,会向客户端发送连接确认。同样的,该确认也是一个数据包。这个数据包官方名称为CONNACK

CONNECT – 连接服务端

 ClientId是MQTT客户端的标识。

cleanSession – 清除会话  根据客户端对系统运行的重要性来区别对待

username:用户名

password:用户密码

lastwilltopic:主题

lastwillqos:服务质量等级

lastwillmessage:消息

lastwillretain:保留

keepalive:心跳

CONNACK – 确认连接请求

 一个是returnCode(连接返回码)

另一个是sessionPresent (当前会话)

当重要客户端连接服务端时,服务端可能保存着没有得到确认的报文。如果是这样的话,那么客户端在连接服务端时,就会通过sessionPresent来了解服务端是否有之前未能确认的信息。

当客户端发送的CONNECT报文中的cleanSession设置为true, sessionPresent肯定是false

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐