首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >最后遗嘱的目的或用法是什么?

最后遗嘱的目的或用法是什么?
EN

Stack Overflow用户
提问于 2013-06-24 00:17:53
回答 3查看 28.7K关注 0票数 40

我肯定忽略了整个MQTT协议的工作方式,因为我无法理解“最后遗嘱”消息的使用模式:它们的目的是什么?

我经常看到的一个例子是通知设备已经脱机。这对我来说没有多大意义,因为很明显,如果一个设备没有发布任何数据,它可能是离线的,或者可能会出现一些网络问题。

那么,LWT的一些实际用途是什么呢?它是为了什么而发明的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-29 14:30:43

LWT消息并不真正关心检测客户端是否脱机(该任务由keepAlive消息处理)。LWT消息是关于的,在客户机离线之后会发生什么。

比喻是一个真正的最后的遗嘱:如果一个人死了,她可以写一份遗嘱,在遗嘱中她宣布在她去世后应该采取什么行动。遗嘱执行人会注意到这些愿望并代表她执行。在MQTT世界中的类比是,一个客户可以制定一个遗嘱,其中它声明了什么消息应该由经纪人代表它发送,当它离线后。

一个虚构的例子:

我有一个传感器,它发送关键的数据,但很少。它以主题的形式制定了最后一个will声明:‘/node/ for脱机’,消息:' :id ',其中: id是传感器的唯一id。我也有一个紧急订阅的主题‘节点/离线’,它将发送一条短信到我的手机,每次消息发布在该频道。

在正常操作期间,传感器将通过发送带有实际传感器读数的周期性keepAlive消息来保持与MQTT的连接。如果传感器脱机,由于缺少keepAlives,到代理的连接将超时。

这就是LWT进来的地方:如果没有指定LWT,代理就不会在意,只会关闭连接。然而,在我们的示例中,代理将执行传感器的最后一个意愿,并发布LWT-message‘/node/id脱机::id’。然后,该消息将被消费到我的紧急用户,我将被通知传感器的ID通过短信,以便我可以检查发生了什么。

简而言之:

与其在客户端脱机后关闭连接,还可以利用LWT消息来定义代理代表客户端发布的消息,因为客户机是脱机的,不能再发布消息。

票数 92
EN

Stack Overflow用户

发布于 2013-06-24 00:26:50

仅仅因为设备不发布并不意味着它不是在线的,或者存在网络问题。

例如,如果传感器监视一个值的变化非常罕见,良好的设计表明传感器应该只发布这些更改以帮助减少带宽使用,因为定期发布相同的值是浪费的。如果该值作为保留值发布,则任何新订阅服务器都将始终获得当前值,而不必等待传感器值更改并再次发布。

在这种情况下,LWT用于在传感器故障(或者存在网络问题)时发布,因此我们在客户端知道问题所在,保持生命周期。

票数 11
EN

Stack Overflow用户

发布于 2015-03-19 16:44:59

一篇关于“最后遗嘱”和“遗嘱”消息的深入文章可在MQTT基本博客文章系列:http://www.hivemq.com/mqtt-essentials-part-9-last-will-and-testament/中获得。

为了总结这篇博文:

MQTT中使用了“最后的遗嘱”和“遗嘱”功能来通知其他客户端一个不正常的断开连接的客户端。

MQTT是经常使用的场景,在不可靠的网络中非常常见。因此,人们认为有些客户会不时地断线,因为他们失去了连接,电池是空的,或者任何其他可以想象的情况。最好知道连接的客户端是否已经断开连接(这意味着使用MQTT断开消息),以便采取适当的操作。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17270863

复制
相关文章
MQTT 遗嘱使用
所以大家可以设置遗嘱 ,注意哈,发布的主题自己随意哈,假设是aaaaa  假设设置的遗嘱是   {data:state,state:offline}   注意遗嘱的retain 必须设置为1 ,即让服务器保留这个消息
杨奉武
2019/07/26
3K0
MQTT 遗嘱使用
WordPress 遗嘱插件:Next of Kin
你走了之后,你的 blog 怎么办?这个插件可能帮到你忙,我觉得有点像是遗嘱一样的东东,比较黑色的那种 cool。
Denis
2023/04/13
1750
FilterConfig的用法是什么?
FilterConfig可以从web.xml当中取得一些有关Filter参数,当Web应用启动时就可以获得了。
马克java社区
2021/07/30
5860
你学习的目的到底是什么?
上学时我们学习的目的基本上就是为了考试,大考、小考、模拟考,最后一考终极考—高考。
六小登登
2019/01/28
5770
性能测试调研:测试的目的是什么?
测试背景,是新系统还是旧系统改造,评估测试重点,新系统预估可能的性能瓶颈在哪里,旧系统有哪些历史性能问题,旧系统本次进行了哪些改造等。
互扯程序
2020/02/11
1.4K0
Mysql实现null值排在最前或最后
最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。
SmileNicky
2019/03/04
1.5K0
企业域名备案是什么意思?域名备案的目的是什么?
互联网发展到现在,影响是相当的大了。现在不止是城市,连农村人都会用手机购物,买衣服,买菜,买家居日常用品等等。并且手机购物也不再是年轻人的代名词,很多老年人也会用手机购物,手机支付。这就导致企业只要想
用户8739990
2021/08/13
28.2K0
什么是DDOS攻击?它的原理是什么?它的目的是什么?
网站最头痛的就是被攻击,常见的服务器攻击方式主要有这几种:端口渗透、端口渗透、密码破解、DDOS攻击。其中,DDOS是目前最强大,也是最难防御的攻击方式之一。
拾光博客
2023/05/16
9900
数据分析的目的和意义(作用)是什么?
很多人会问数据分析目的是什么?它有什么作用?让我们看看亿信华辰如何看待数据分析的目的和意义。仅仅谈论数据分析的作用实际上并不重要,因此在谈论该作用之前,我们首先要考虑受众,打个比方:对于个人而言,由于身体感应设备的原因,让我们每天锻炼身体健身各种指标可以数字化,最终完成对个人身体和生活习惯的自我量化,然后完善对个人日常生活规律的调节,使我们过上更好的生活。
数据前沿
2020/06/16
3.4K0
数据分析的目的和意义(作用)是什么?
cdn测试是什么?Cdn测试的目的有哪些
很多大型网站都会利用加速技术来为用户访问提供更好的服务,但加速技术通常在搭建完成后需要对其进行系统的测试,确保其功能的正常,那么cdn测试是什么?Cdn测试的目的又有哪些呢?
用户8715145
2021/09/18
3.3K0
cdn测试是什么?Cdn测试的目的有哪些
渗透测试的目的是什么?有哪些测试技巧?
说到渗透测试,可能很多人对渗透测试并没有很好的了解,毕竟渗透测试根本就没有标准的定义,按照国外一些安全组织达成的共识来说的话,渗透测试就是通过模拟恶意黑客的常用攻击方法,来对计算机网络系统安全做一下评估,这个只是一种对系统安全的评估方法。那么渗透测试的目的是什么?有哪些测试技巧?
用户8739405
2021/07/09
3.3K0
javascript当中relative或absolute用法
2)垂直方向也是完美兼容。3)但想要垂直和水平兼容, 必须把两个浏览器的窗口调成一模一样, 甚至左右上下的滚动条(注意ie比火狐多一个滚动条, 得把他刨除在外)。4)火狐有个查看/缩放/重置, 一定注意这个缩放要放成重置, 因为它也会影响两个浏览器看上去的兼容性。 </div> </body> </html> 例 1.4.2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <meta http-equiv="content-type" content="text/html; charset=utf-8"/>     <head>         <meta charset="UTF-8">         <title>z-index越大,越在前面</title>         <style type="text/css">             .wai{position:absolute;top:60px;left:60px;width:240px;height:240px;z-index:1;border: 1px solid #00ff00;}             .r, .a{width:60px;height:60px;text-align:center;color:#FFF;}              .r{position:relative;background-color:green;top:60px;left:60px;z-index:10;}             .a{position:absolute;background-color:red;top:0px;left:0px;z-index:14;}         </style>     </head>     <body>     <div class="wai">aaa马克-to-win         <div class="r">regre</div>         <div class="a">abred</div>     </div>     </body>     </html> 参考本章relativeAbsolute网上例子参考.html
马克java社区
2020/11/27
5460
javascript当中relative或absolute用法
你们项目的核心战略是什么
不管干什么,设定一个目标,针对一个目标有一个核心战略,并坚决的执行核心战略是取得胜利的不二法宝。
静儿
2018/10/09
6460
TRIZ培训 | 九屏幕法目的是什么?
广州TRIZ培训中讲到:为克服在创新和发明过程中存在的思维惯性,阿奇舒勒构建了九屏幕法、小人法、最终理想解、金鱼法和STC算子五种方法。本文,天行健要介绍的便是——九屏幕法。
用户9972271
2023/03/14
5700
C++惯用法全!最后一谈pImpl
“指向实现的指针”或“pImpl”是一种 C++ 编程技巧,它将类的实现细节从对象表示中移除,放到一个分离的类中,并以一个不透明的指针进行访问。
公众号guangcity
2019/12/30
1.5K0
C++惯用法全!最后一谈pImpl
位运算中异或的常见用法总结
异或(^) 这个位操作运算符相信大家一定都不陌生,这个运算符可以用来解决很多普通算法解决不了的问题,而且位运算是直接对二进制码做运算,相对普通的加减乘除运算符来说的话更加的高效,我们借着题目一起来看看。
五分钟学算法
2019/09/03
1.3K0
page指令的用法,重要属性是什么?
i) import="package.class",或者import="package.class1,...,package.classN":
马克java社区
2021/07/12
8030
javascript ||或运算符的其他用法
关于或运算符的基本用法可以参阅javascript 逻辑||运算符一章节。 其实运算符也可以起到类似于if语句的功能,下面看一段代码实例: function func(arg) { var arg = arg || 5; console.log(arg); } func();
IT工作者
2021/12/29
3400
解决Android Studio 不能启动或新建项目的情况
对于android studio 0.3.x 及以下的版本,安装或启动过程出现任何问题可以查看这篇博客。http://www.cnblogs.com/timeng/archive/2013/05/17/3084185.html 。
bering
2019/12/03
1.4K0
c++中template的用法是什么?
在C++中,template是一种通用编程工具,用于创建通用的函数或类。通过使用模板,可以编写可以应用于不同数据类型的函数或类,从而实现代码的重用性和灵活性。template的使用方法如下:
marsggbo
2023/08/10
2.5K0

相似问题

这个委托用法的目的是什么?

20

连接后更改最后的遗嘱和遗嘱主题或有效负载

116

在MQTT中,如何通知代理客户的最后遗嘱和遗嘱?

21

如何使用设备客户端的最后遗嘱和遗嘱?

17

MQTT.关于现代sim800c的最后遗嘱和遗嘱

19
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文