龙岩网站推广营销/百度app下载官方

龙岩网站推广营销,百度app下载官方,做网站对公司的作用,武汉做网站公司项目背景: 在 Spring Boot MQTT 5.0 环境中,RTU设备向SpringBoot平台发送心跳数据、业务监控数据。同时SpringBoot平台可以向RTU设备下发指令,RTU在执行完指令之后向平台发送响应数据。 问题一、SpingBoot平台发送指令给RTU设备,RTU设备能够…

项目背景:

       在 Spring Boot + MQTT 5.0 环境中,RTU设备向SpringBoot平台发送心跳数据、业务监控数据。同时SpringBoot平台可以向RTU设备下发指令,RTU在执行完指令之后向平台发送响应数据。

        问题一、SpingBoot平台发送指令给RTU设备,RTU设备能够收到指令也能回复信息到相应的主题。SpringBoot平台也订阅该主题,但是没有收到信息。

        在遇到这个问题的时候,我发现控制台的打印出了一个ERROR日志:

2025-03-06 11:11:31.652 [MQTT Rec: TerminalB] ERROR o.s.i.m.i.MqttPahoMessageDrivenChannelAdapter:362 - Lost connection: 已断开连接; retrying...

排查思路:

1.首先需要明确哪些因素会导致出现断开连接。因为收不到消息同时伴随着ERROR日志的打印。

  •  检查网络连接

         确保你的设备与MQTT服务器之间的网络连接是稳定的。你可以尝试ping服务器地址或使用网络工具检查连接质量。

  •  检查MQTT服务器状态

        确认MQTT服务器正在运行且没有遇到任何问题。如果可能,尝试连接到服务器的其他客户端(例如另一个设备或应用程序)以验证服务器是否可用。

  •  检查MQTT客户端配置            

  •     主机名和端口:确保客户端配置中的MQTT服务器地址和端口号是正确的。

  •     客户端ID:每个客户端都应该有一个唯一的ID。确保没有两个客户端使用相同的ID连接至同一服务器。

  •     用户名和密码:如果服务器启用了认证,确保提供了正确的用户名和密码。

  •     清洁会话:根据你的需求设置cleanSession。如果是true,它将删除之前的会话信息;如果是false,它将保留会话信息。

  •   检查防火墙和安全组设置

        确保没有防火墙或安全组规则阻止客户端与MQTT服务器之间通信。这包括入站和出站规则。

2、SpringBoot平台订阅了很多主题的消息,比如心跳主题,业务监控主题等,之前是不会出现信息订阅不到。说明主机名和端口、用户名密码,是正确的。

3、现在还剩下三项没有排除,客户端ID、清洁会话、防火墙。因为心跳是正常的,所以说清洁会话和防火墙是没问题的,如果这两个有问题那心跳主题的信息我们平台也是收不到的。

4、目前只剩下客户端ID这个因素。现在已经大致明确了是因为这个因素导致,接下来我们需要分析一下为什么出现这个问题,之前是正常的。通过回忆实际操作,我发现SpingBoot平台订阅不到消息之前,我通过SpringBoot平台向某一台RTU设备发送了一个修改频率的指令。然后我又分析日志信息,发现当我发送消息之后,控制台出现了断开连接的错误。好,现在我把所有的操作和具体的报错信息联系在一起,问题就比较清晰了。我发送了一个指令,控制台报错:断开连接,然后RTU执行指令,然后RTU向响应主题发送消息,我们SpingBoot平台收不到了。

        再把上述的问题精简一下对于SprintBoot平台其实就是两个操作,一个是平台利用MQTT发送消息,另一个就是平台利用MQTT订阅消息。当我发送完消息,平台订阅不到消息,同时出现断开连接。这个时候我就明确了错误所在,发布是一个客户端行为,订阅也是一个客户端行为,但是我们在代码里面把订阅ID和发送ID设置成了相同的,如下:

    subClientId: adminpubClientId: admin

        也就是平台发送指令的时候把订阅的连接顶掉了,这个时候出现了订阅断开连接的错误日志。然后RTU发送响应消息到订阅主题,但是这个时候平台的订阅已经断开链接,所以说平台一直收不到响应消息。以上就是我分析这个问题的具体思路,在此仅作个人记录,如有分析错误的地方,欢迎大家留言指导。

问题二、SpingBoot平台在启动之后,一直在重复打印一条消息,而且RTU设备并没有发送任何消息到MQTT的服务器,通过观察该消息是间隔固定的时间重复打印。

        排查思路:

1、我先排查这一条消息的出处到底在哪里来的。通过对比发现,这一条是昨天RTU的消息,并不是今天的,所以说很奇怪。

2、MQTT通讯中我的平台也是一个客户端,客户端本身不存储消息,只有可能是服务器端存储。

3、前边几篇文章分析的有消息重复接受的原因,主要是消息质量为1的时候,MQTT协议本身重发导致。还有就是tcp的重发,但是在这里不存在tcp重复的因素。那只能是消息质量为1的时候,协议本身导致。

4、现在分析出主要是消息质量为1的时候导致,那就说明broker给平台发送消息的时候可能存在两种情况,第一就是broker收到多次重复消息,导致broker也给平台发送多次消息。第二、就是平台收到broker消息,但是平台没有给broker发送回复消息。

5、如果是第一种情况,那我平台正常启动,就能消费订阅的信息,就不会出现我现在这种不断重复打印的情况,所以说第一种情况排除。

6、那现在肯定是第二种情况,平台没有给broker发送响应消息。现在开始回顾代码,为什么没有发送响应消息。仔细观察代码发现,我订阅的时候使用通配符订阅了所有消息,恰好没有对RTU执行代码之后发送消息的主题进行代码处理,导致broker一直收不到我的平台反馈,所以说broker一直不断地给平台发送信息。

7、综上所述这就是我重复消息不停输出的原因。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Trae-中国首款免费AI原生IDE

Trae 简介 Trae 是由字节跳动于2025年1月推出的国内首个原生AI集成开发环境(IDE),旨在通过AI技术赋能开发者,简化编程流程。其核心功能基于Claude 3.5和GPT-4o等先进AI模型,支持智能代码生成、优化及多模态交互&#…

游戏开发中的贝塞尔曲线:感受丝滑的数学之美

这是一篇vip文章,如果你还不是vip,可以移步https://www.ilikexff.cn/articles/165免费阅读。 介绍 贝塞尔曲线是计算机图形学中最重要的概念之一,以其在表示曲线时的灵活性和精确性而闻名。广泛应用于计算机图形学、动画、路径规划等领域的数学曲线。 贝塞尔曲线的数学原理基…

强化学习课程:stanford_cs234 学习笔记(2)introduction to RL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言5、强化学习课程大纲5.1 课程内容主:5.2 马尔可夫决策过程:5.2.1 马尔可夫性 markov propterty5.2.2 马尔可夫过程 markov process5.2.3…

第 26 场 蓝桥月赛 部分题解

第 26 场 蓝桥月赛 2.灯笼猜谜3.元宵分配4.摆放汤圆5.元宵交友(运行超时 通过90%) 2.灯笼猜谜 分析:以当前位置为视角,要想移动的距离尽可能的少,按顺序猜谜语,给你一个区间,有三种情况&#xf…

JAVA实战开源项目:体育馆使用预约平台(Vue+SpringBoot) 附源码

本文项目编号 T 144 ,文末自助获取源码 \color{red}{T144,文末自助获取源码} T144,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

深度学习之卷积

从全连接到卷积 MLP的缺陷,假设有如下的场景: 分类猫和狗的图片 使用一个还不错的相机采集图片(12M像素)RGB图片有 36M元素使用100大小的单隐藏层MLP,模型有 3.6B元素 远多于世界上所有猫和狗总数(900M狗,600M猫) …

目标识别与双目测距(1)环境搭建:Ubuntu+yolov5+pcl库

环境情况 ubuntu 18.04 → 20.04(最终) 安装Ubuntu1804虚拟机系统 Anaconda:可参考我的另一篇文章 Python 3.6.13 → 3.8(最终)Anaconda3-2021.05 目标识别:YOLOv5相关 1、安装git sudo apt install gi…

LinuxTCP/UDP基础概念

TCP(传输控制协议) TCP 是一种面向连接的、可靠的、基于字节流的传输层通信协议。它的主要特点包括: 面向连接:在传输数据之前,需要通过“三次握手”建立连接;传输结束后,通过“四次挥手”断开…

人工智能通识速览一(神经网络)(编辑中)

上篇:人工智能通识速览一(机器学习) 人工智能通识速览一(机器学习)(编辑中)-CSDN博客https://blog.csdn.net/siper12138/article/details/146512068?sharetypeblogdetail&sharerId1465120…

【数据标准】数据标准化框架体系-基础类数据标准

导读:数据标准化的四大基础类标准(业务术语、业务规则、命名规范、代码标准)是企业数据治理的核心支柱。主要作用体现在​消除业务与技术间的语义鸿沟​(通过统一术语与命名规范),​保障数据全生命周期的质…

可发1区的超级创新思路(python\matlab实现):MPTS+Lconv+注意力集成机制的Transformer时间序列模型

首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴! 应用场景 该模型主要用于时间序列数据预测问题,包含功率预测、电池寿命预测、电机故障检测等等。 一、模型整体架构(本文以光伏功率预测为例) 本模型由多尺度特征提取模块(MPTS)…

红宝书第二十一讲:详解JavaScript的模块化(CommonJS与ES Modules)

红宝书第二十一讲:详解JavaScript的模块化(CommonJS与ES Modules) 资料取自《JavaScript高级程序设计(第5版)》。 查看总目录:红宝书学习大纲 一、模块化的意义:分而治之 模块化解决代码依赖混…

非手性分子发光有妙招:借液晶之力,实现高不对称圆偏振发光

*本文只做阅读笔记分享* 一、圆偏振发光研究背景与挑战 圆偏振发光(CPL)材料在3D显示、光电器件等领域大有用处,衡量它的一个重要指标是不对称发光因子(glum)。早期CPL材料的glum值低,限制了实际应用。为…

MySQL数据库精研之旅第五期:CRUD的趣味探索(上)

专栏:MySQL数据库成长记 个人主页:手握风云 目录 一、CRUD简介 二、Create新增 2.1. 语法 2.2. 示例 三、Retrieve检索 3.1. 语法 3.2. 示例 一、CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作:Create(创建)、Retrieve(检索…

【银河麒麟系统常识】需求:安装.NET SDK

前提 网络状态正常(非离线安装); 终端命令如下所示 根据不同系统的版本,自行选择,逐行执行即可; # 基于 Ubuntu/Debian 的银河麒麟系统 wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O…

行业智能体大爆发,分布式智能云有解

Manus的一夜爆红,在全球范围内引爆关于AI智能体的讨论。 与过去一般的AI助手不同,智能体(AI Agent)并非只是被动响应,而是主动感知、决策并执行的应用。Gartner预测,到2028年,15%的日常工作决策…

工作记录 2017-03-13

工作记录 2017-03-13 序号 工作 相关人员 1 修改邮件上的问题。 开始处理操作日志部分。 测试了C#和MySql的连接。 更新RD服务器。 郝 更新的问题 1、 修改了CMS1500的打印,NDC的内容用了小的字体。 2、在Cliams List中可以查看Job的Notes。 3、Payment Po…

Codeforces Round 1014 (Div. 2)(A-D)

题目链接&#xff1a;Dashboard - Codeforces Round 1014 (Div. 2) - Codeforces A. Kamilka and the Sheep 思路 最大值-最小值 代码 void solve(){int n;cin>>n;vi a(n10);int mx0;int miinf;for(int i1;i<n;i){cin>>a[i];mimin(mi,a[i]);mxmax(mx,a[i])…

[操作系统,学习记录]3.进程(2)

1.fork(); 玩法一&#xff1a;通过返回值if&#xff0c;else去执行不同的代码片段 玩法二&#xff1a;if&#xff0c;else然后调用execve函数去执行新的程序 2.进程终止&#xff1a; 退出码&#xff0c;子进程通过exit/return返回&#xff0c;父进程wait/waitpid等待而得&am…

Masked Attention 在 LLM 训练中的作用与原理

在大语言模型&#xff08;LLM&#xff09;训练过程中&#xff0c;Masked Attention&#xff08;掩码注意力&#xff09; 是一个关键机制&#xff0c;它决定了 模型如何在训练时只利用过去的信息&#xff0c;而不会看到未来的 token。这篇文章将帮助你理解 Masked Attention 的作…