javascript - 无法从 ReactJS 连接到 MQTT 代理
问题描述
我在连接到在 docker 中运行的本地 MQTT 代理时遇到问题。
这是我的连接文件:
import mqtt from 'mqtt';
const client = mqtt.connect({
host: 'ws://192.168.31.46',
port: 1883,
});
client.on('connect', () => {
console.log('Connected');
client.subscribe('SEND_MESSAGE', function (topic, message) {
console.log({ topic, message });
});
});
export default client;
解决方案
端口号 (99.9%) 错误,端口 1883 是本机 MQTT 端口,而不是 MQTT over WebSockets。正确的端口取决于您如何配置代理(假设 mosquitto,它没有默认定义的 WebSocket 侦听器)
此外,如果该mqtt.connect()
函数要求提供主机名和端口,那么您不应该为 post 字段提供 URL。从一开始就删除ws://
。
推荐阅读
- r - 结合嵌套 `tar_map` 调用的结果
- c# - 实体框架 - 按一列分组并选择多列
- python - discord.py重写中用逗号分隔的多个参数?
- javascript - 在正文中发送带有 JSON.stringify(obj) 的帖子不会在 API 接收端产生字符串
- asp.net-core - 在浏览器会话之间保存和访问 jwt 令牌 cookie
- go - 使用 unsafe from string 转换的字节切片更改其地址
- sql - 多个连接和一个数组列
- linkedin - 使用 API 上传图片
- airflow - 如何顺序运行不依赖的同级任务?
- grep - 如何使用 find 或 grep 查找和报告 Zen Cart 版本?