微信小程序使用mqtt开发可以,真机不行

news2024/12/23 1:20:26

以下可以解决我的问题,请一步一步跟着做,有可能版本不一样就失败了

一、下载mqtt.js

前往蓝奏云 https://wwue.lanzouo.com/iQPdc1k50hpe
在这里插入图片描述
下载好后将.txt改为.js
然后放入项目里
在这里插入图片描述

二、连接mqtt

const mqtt = require('../../utils/mqtt.min');
let client;
// 连接选项
const options = {
  connectTimeout: 30000, // 默认 30 * 1000毫秒,收到 CONNACK 之前等待的时间,即连接超时时间。
  clientId: 'mqttjs_' + Math.random().toString(16).substring(2, 8), // 客户端 ID
  username: 'l', // 连接用户名
  password: 'h0', // 连接密码
  clean: true, // 设置为 false 以在离线时接收 QoS 1 和 2 消息
};
client = mqtt.connect(`wxs://l.com/appletMqtt`, options);
// 链接异常处理
client.on('error', (error) => {
  console.log('连接失败:', error);
});
// 订阅
client.subscribe(
  '/szdx/#',
  {
    qos: 1,
  },
  (error) => {
    if (!error) {
      console.log('订阅成功/szdx/device/in/#');
    } else {
      console.log('订阅失败/szdx/device/in/#');
    }
  }
);
// 接收消息处理
client.on('message', (e, a) => {
  if (e.search('/szdx') > -1) {
    let c = JSON.parse(String(a));
  }
});

三、nginx配置(因为小程序的bug)

emqx官网
需要有ssl证书

server {
    listen  443 ssl;        
    server_name xxx.emqx.io; 
    ssl_certificate   cert/***.pem;
    ssl_certificate_key  cert/***.key;
    ssl_session_timeout  5m;      
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    # 添加反向代理
    location /appletMqtt {
      proxy_pass http://127.0.0.1:8083/mqtt;
      proxy_set_header Host $host;
      proxy_set_header Sec-WebSocket-Protocol mqtt;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      # client_max_body_size 35m;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";    
    }
}

四、最后就可以连上了(别问为什么,有用就行,哈哈)

注意,每一步都是有用的哦,如果你的不行,那么就原样复制一下

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

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

相关文章

NB三人组(堆排序,归并排序,快速排序)(数据结构课设篇2,python版)(排序综合)

本篇博客主要详细讲解一下NB三人组排序,为什么叫NB三人组呢?因为他们的时间复杂度都为O(n log n)。第一篇博客讲解的是LowB三人组(冒泡排序,插入排序,选择排序),第三篇博客会讲解其他排序&#…

Jenkins分布式实现: 构建弹性和可扩展的CI/CD环境!

Jenkins是一个流行的开源持续集成(Continuous Integration,CI)和持续交付(Continuous Delivery,CD)工具,它通过自动化构建、测试和部署过程,帮助开发团队更高效地交付软件。Jenkins的…

Linux——系统安全及应用

一、基本安全措施 1、系统账号清理 常见的非登录用户账号包括bin、daemon、 adm、lp、mail等。为了确保系统安全,这些用户账号的登录Shell通常是/ sbin/nologin,表示禁止终端登录,应确保不被人为改动。 //将非登陆用户的Shell设为/sbin/nolo…

STM32G030C8T6:USART串口通信(中断)

本专栏记录STM32开发各个功能的详细过程,方便自己后续查看,当然也供正在入门STM32单片机的兄弟们参考; 本小节的目标是,系统主频64 MHZ,采用高速外部晶振,通过芯片PB6,PB7 的USART1 口,实现串口通信。 原理…

Oracle数据恢复记录一 表数据的恢复

当我们误删/修改数据之后,要进行数据恢复,需要有数据库管理员权限才能实现,所以奉劝各位修改数据要好好确认,搞出异常来就很麻烦了。下面是一个数据恢复简单的例子: DML Sql 这里展示了修改的sql UPDATE XX_MES_PROC…

MySQL基础笔记(4)DQL数据查询语句

DQL用于查找数据库中存放的记录~ 目录 一.语法 二.基础查询 1.查询多个字段 2.设置别名 3.去除重复记录 三.条件查询 1.基础语法 2.常见条件 四.分组查询 1.聚合函数 2.语法 五.排序查询 六.分页查询 附注:DQL执行顺序 1.编写顺序 2.执行顺序 ​​​…

Reids原理及简单命令

目录 1.关系数据库与非关系型数据库 关系型数据库 非关系型数据库 关系型数据库和非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 总结: 2. Redis简介 什么是reids reids优点 reids使用场景: reids快的原因 Redis数…

RFID标签在汽车监管方面的应用与实施方案

RFID技术在汽车工业领域得到了广泛应用,主要体现在汽车资质证书远程监管系统的普及化,系统包括OBD接口监视器、车证监管箱、超高频读写设备、应用系统软件以及大数据采集与处理等组成部分。 在汽车物流监管方面,系统利用OBD接口监控车辆并实时…

无心剑汉英双语诗《一亩三分地》

一亩三分地 My Small World 二十四年世事变幻 拨号上网曾争分夺秒 如今不限流量肆意冲浪 大数据,云计算,人工智能 洗刷着世间各行各业 周围人,生活不断升级 房子,车子,妻子…… 换了一茬又一茬 洋溢着自豪的表情 而我…

乔布斯2005年在斯坦福大学的演讲稿

文章目录 乔布斯2005年在斯坦福大学的演讲稿英语原文译文 乔布斯2005年在斯坦福大学的演讲稿 英语原文 Stay Hungry. Stay Foolish. I am honored to be with you today at your commencement from one of the finest universities in the world. Truth be told, I never gradu…

修改安卓apk设置为安卓主屏幕(launcher)

修改安卓apk 将apk可以设置安卓主屏幕 原理: 将打包好的apk文件进行拆包增加配置文件在重新编译回apk包 需要得相关文件下载 解包 apktool :https://pan.baidu.com/s/1oyCIYak_MHDJCvDbHj_qEA?pwd5j2xdex2jar:https://pan.baidu.com/s/1Nc-0vppVd0G…

Unity真机Log工具 SRDebugger使用记录,GM布局管理

SRDebugger 官方文档安装及初始化常用设置选项布局选项快捷键选项高级设置 使用GM工具案例常用特性GM分组排序GM固定页签 官方文档 文档: https://www.stompyrobot.uk/tools/srdebugger/documentation/ 插件地址: https://assetstore.unity.com/package…

Python基础知识总结1-Python基础概念搞定这一篇就够了

时隔多年不用忘却了很多,再次进行python的汇总总结。好记性不如烂笔头! PYTHON基础 Python简介python是什么?Python特点Python应用场景Python版本和兼容问题解决方案python程序基本格式 Python程序的构成代码的组织和缩进使用\行连接符 对象…

【深度学习每日小知识】数据增强

数据增强是通过对原始数据进行各种转换和修改来人工生成附加数据的过程,旨在增加机器学习模型中训练数据的大小和多样性。这对于计算机视觉领域尤为重要,因为图像经常被用作输入数据。 计算机视觉中的数据增强 数据增强的主要目标是解决过拟合问题&…

春招冲刺第一天:Excel入门

春招冲刺第一天 前言: 转行换方向了家人们,准备往数据分析那转了,实习我现在也找不到,打算先猛学两周技术,过完年再投简历了。 时间确实非常紧张,目前一天计划学8小时以上,主要参考视频——&g…

使用IDEA官方docker插件构建镜像

此方法同样适用于jetbrains系列的其他开发软件 在IDEA中&#xff0c;如果是maven项目&#xff0c;可以使用插件 <plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version> &…

格密码基础:对偶格(超全面)

目录 一. 对偶格的格点 1.1 基本定义 1.2 对偶格的例子 1.3 对偶格的图形理解 二. 对偶格的格基 2.1 基本定义 2.2 对偶格的格基证明 三. 对偶格的行列式 3.1 满秩格 3.2 非满秩格 四. 重复对偶格 五. 对偶格的转移定理&#xff08;transference theorem&#xff…

图像分割实战-系列教程11:U2NET显著性检测实战3

&#x1f341;&#x1f341;&#x1f341;图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 U2NET显著性检测实战1 U2NET显著性检测实战2 U2NET显著性检测实战3 6、上采样操作与REBNCONV def…

基于Java SSM框架实现智能仓储管理系统项目【项目源码+论文说明】

基于java的SSM框架实现仓库管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;智能仓储系统当然也不能排除在外。智能仓储系统是以实际运用为开发背景&#xf…

国科大图像处理2024速通期末——汇总2017-2019、2023回忆

国科大2023.12.28图像处理0854期末重点 图像处理 王伟强 作业 课件 资料 一、填空 一个阴极射线管它的输入与输出满足 s r 2 sr^{2} sr2&#xff0c;这将使得显示系统产生比希望的效果更暗的图像&#xff0c;此时伽马校正通常在信号进入显示器前被进行预处理&#xff0c;令p…