当前位置: 首页 > news >正文

淘宝网网站建设的的意见互联斗士网站建站

淘宝网网站建设的的意见,互联斗士网站建站,重庆正云环保建设网站,dw网页制作教程ppt文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案,感兴…

文章

  • 前言
  • 错误场景
  • 问题分析
  • 解决方案
  • 后言

前言

✨✨ 他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。
前端bug这里是博主总结的一些前端的bug以及解决方案,感兴趣可以看一下,有不同方案可以在评论区提出

在这里插入图片描述


正文开始

错误场景

一个mq客户端负责发布数据 代码如下:

// 连接到 MQTT 服务器
const url = "mqtt://127.0.0.1:1883";const options = {// 可以在这里添加额外的连接选项,比如 clientId 等clientId: "MQTT1",connectTimeout: 4000,reconnectPeriod: 1000,clean: true,username: "c37",password: "vi123456",
};
let mqttClient = mqtt.connect(url, options);
// 监听 MQTT 消息
mqttClient.on("connect", () => {console.log("MQTT Connected");
});
mqttClient.on("error", (err) => {console.error("MQTT client error:", err);
});// 确保在 Electron 应用关闭时清理 MQTT 客户端
app.on("window-all-closed", () => {if (process.platform !== "darwin") {app.quit();}if (mqttClient) {mqttClient.end();}
});app.on("quit", () => {if (mqttClient) {mqttClient.end();}
});const Index = 32;
const Value = 100;
const message = `Variable${Index}:${Value}`;mqttClient.publish("/MQTT1/pub", message, { qos: 1 }, (err) => {if (err) {console.error("Failed to publish message:", err);} else {console.log("Message sent successfully:", message);}
});

另外一个mq客户端负责订阅数据 代码如下:

async function connectAndSubscribe(mqttModule, variables) {try {const options = {clientId: "MQTT1",connectTimeout: 4000,reconnectPeriod: 1000,clean: true,username: "c37",password: "vi123456",};const mqttClient = mqttModule.connect('mqtt://127.0.0.1:1883', options);let isConnected = false; // 添加标志变量mqttClient.on('connect', function () {if (!isConnected) {isConnected = true;console.log('连接到 MQTT Broker 成功');mqttClient.subscribe('/MQTT1/pub', function (err) {if (!err) {console.log('已订阅 MQTT 主题 /MQTT1/pub');} else {console.error('订阅失败:', err);}});}});mqttClient.on('message', function (topic, message) {console.log(`接收到来自主题 ${topic} 的消息: ${message.toString()}`);const receivedMessage = message.toString();const parts = receivedMessage.split(':');if (parts.length === 2) {const variableName = parts[0];const value = parseFloat(parts[1]);if (variables[variableName] !== undefined) {variables[variableName].value = value;console.log(`已更新 ${variableName}${value}`);} else {console.log(`未知变量名称: ${variableName}`);}} else {console.log(`消息格式无效: ${receivedMessage}`);}});mqttClient.on('error', function (err) {console.error('MQTT 客户端错误:', err);});mqttClient.on('reconnect', function () {console.log('尝试重新连接到 MQTT Broker...');});mqttClient.on('offline', function () {console.log('MQTT 客户端离线');});} catch (err) {console.error("连接或订阅过程中发生错误:", err);}
}

问题分析

不报错 但是信息一直发送不过去 并且一直重连
原因:options中的clientId 重复了,mq允许一个用户在两个客户端登陆 代表我们用户名和密码可以一致,但是clientId不行
Client ID:每个 MQTT 客户端在连接到 Broker 时都需要提供一个唯一的 Client ID。如果多个客户端使用相同的 Client ID,则后一个连接将会替换掉前一个连接。这是 MQTT 协议的标准行为。

解决方案

options中的Client ID 不能重复 换成不一样的 可以搞一个随机数

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力

http://www.yayakq.cn/news/406529/

相关文章:

  • 电商网站建设内容规划某班级网站建设方案
  • 做音乐网站要多少钱没有充值入口的传奇手游
  • 龙岗 网站建设哪项目网发布信息平台
  • wordpress培训类网站模板孩子学编程网上课程哪家好
  • 温州网站优化排名长尾关键词挖掘爱站网
  • 建立网站的相关信息seo营销网站的设计标准
  • c 网站建设设计报告专业做公司网站的机构
  • 新安县做网站温州seo推广外包
  • 北京网站优化seo节能 建材 工程标准
  • 网站建设捌金手指花总二八it运维多少钱一个月
  • vs2010网站开发实例营销型网站建设哪家专业
  • 天津网站建设软件开发招聘代运营公司
  • 网站开发实例教程不同网站建设特点
  • 个人可以建设网站吗不备案龙岗建设工程交易中心官网
  • 网站首页原型图咋做做网站什么配置够用
  • 云服务器安装win系统做网站校园网站的系统建设
  • 网站商城制作费用网站设计说明书800字
  • 网站定制开发流程公司销售管理系统
  • 做网站需要专业移动版网站怎么做
  • 网站开发与管理课程设计心得c asp.net 发布网站
  • 网站建设z亿玛酷1负责网站建设制作视频
  • 有什的自学做网站ckeditor wordpress 无法预览文章
  • 普通网站和门户网站的区别使用万网怎么做网站
  • 牡丹江建设银行网站设计模板怎么设置
  • c 网站开发教程吉安建设局官方网站
  • 网站建设社区专业做网站的公司保定
  • 宁夏百度网站怎么做长沙地区网络优化设计方案
  • 制作网站公司哪里好公司做网站的步骤
  • 做网站为什么要买服务器wordpress电影怎么做
  • 石家庄网站建设.神鹿网络网站建设有云端吗