MQTTv5.0 --- 操作行为
会话状态 为实现QoS等级1和QoS等级2协议流,客户端和服务端需要将状态与客户标识符相关联,这被称为会 话状态。服务端还将订阅信息存储为会话状态的一部分。会话可以跨越一系列的网络连接。它持续到最新的网络连接(Network Connections)加上会话过期间隔 (Session Expiry Interval)。 客户端的会话状态包括: 已发送给服务端,但是还没有完成确认的QoS等级1和QoS等级2的消息。 从服务端收到的,但是还没有完成确认的QoS等级2消息。 服务端的会话状态包括: 会话是否存在,即使会话状态其余部分为空。 客户端订阅信息,包括任何订阅标识符。 已发送给客户端,但是还没有完成确认的QoS等级1和QoS等级2的消息。 等待传输给客户端的QoS等级0(可选),QoS等级1和QoS等级2的消息。 从客户端收到的,但是还没有完成确认的QoS等级2消息。遗嘱消息和遗嘱延时间隔。 如果会话当前未连接,会话结束时间和会话状态将被丢弃。 保留消息不是会话状态的一部分,会话结束时不被删除。 存储会话状态 当网络连接打开时,客户端和服务端不能丢弃会话状态。当网络连接被关闭并且会话过期 间隔已过时,服务端必须丢弃会话状态 网络连接 MQTT v5.0使用的传输层协议是 [RFC0793] 定义的TCP/IP协议。下面的协议也支持: TLS [RFC5246] WebSocket