Clean Start与Session Expiry Interval - MQTT 5.0新特性

更新时间:2025-05-10 20:38:46 阅读: 评论:0

<a href=http://www.ranqi119.com/ge/78/540290.html style=Clean StartSession Expiry Interval - MQTT 5.0新特性"/>

Clean Start与Session Expiry Interval - MQTT 5.0新特性

前言

MQTT v5.0中的Clean Start与Session Expiry Interval,对于有MQTT 3.1.1版本协议使用经验的朋友,一定不会感觉陌生,因为这两个字段与之前版本中的Clean Session非常相似。但它们在实际使用中远比Clean Session灵活,下文将详细介绍这几个字段的作用与区别。

MQTT 3.1.1版本的Clean Session

如果Clean Session设置为0,服务端必须使用与Client ID关联的会话来恢复与客户端的通信。如果不存在这样的会话,服务器必须创建一个新会话。客户端和服务器在断开连接后必须存储会话的状态。

如果Clean Session设置为1,客户端和服务器必须丢弃任何先前的会话并创建一个新的会话。该会话的生命周期将和网络连接保持一致,其会话状态一定不能被之后的任何会话重用。

可以看出,MQTT期望通过这种持久会话的机制避免客户端掉线重连后消息的丢失,并且免去客户端连接后重复的订阅流程。这一功能在带宽小,网络不稳定的纷至沓来的近义词物联网场景中非常实用。但Clean Session同时限定了客户端和服务器在连接和断开连接两种状态下的行为,这并不是一个很好的实现。此外,在某些场景下会话并不需要服务器永久保留自己的状态时,这个机制将会导致服务器资源的浪费。

MQTT 5.0版本的Clean Start与Session Expiry Interval

如果CONNECT报文中的Clean Start为1,客户端和服务端必我的侄女须丢弃任何已存在的会话,并开始一个新的会话。

如果CONNECT报文中的Clean Start为0,并且存在一个关联此客户端标识符的会话,服务端必须基于此会话的状态恢复与客户端的通信。如果不存在任何关联此客户端标识符的会话,服务端必须创建一个新的会话。

Session Expiry Interval以秒为单位,如果Session Expiry Interval设置为0或者未指定,会话将在网络连接关闭时结束。

如果Session Expiry Interval为0xFFFFFFFF,则会话永不过期。

如果网络连接关闭时(DISCONNECT什么时候是安全期报文中的Session Expiry Interval可以覆盖CONNECT报文中的设置)Session Expiry Interval大于0,则客户端与服务端必须存储会话状态。

驴肉怎么吃 展开全文

现在,Clean Start替代了原先的Clean Session,但不再用于指示是否存储会话状态,仅用于指示服务端在连接时应该尝试恢复之前的会话还是直接创建全新的会话。会话状态在服务端的存储时长则马小跳读后感完全交给Session Expiry Interval决定。

前面还提到,MQTT v5.0支持客户端在断开连接时重新指Session Expiry In重庆市主城区地图terval。这样我们可以非常容易地满足类似客户端网络连接异常断开时会话状态被服务器保留,客户端正常下线时会话则随着连接关闭而结束的场景,只需要客户端在断开连接时将Session Expiry Interval设置为0即可。即便是一个已经永不过期的会话,客户端也可以在下一次连接中通过设置Clean Start为1来"反悔"。

Clean Start与Session Expi编织儿童帽子ry Inter语文试卷val不仅解决了Cl夸幼儿棒的表扬语ean Sess策划小品ion的遗留问题,同时也扩展了客户端的使用场景,使MQTT协议在受限的网络环境下更加实用。

本文发布于:2023-07-14 16:16:29,感谢您对本站的认可!

本文链接:http://www.ranqi119.com/ge/78/540293.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:新特性   Session   Start   Clean   Expiry
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26|友情:优美诗词|电脑我帮您|扬州装修|369文学|学编程|软件玩家|水木编程|编程频道