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 [RFC6455]

猜你喜欢

转载自www.cnblogs.com/saryli/p/11520603.html