【问题标题】:Cannot connect to MQTT Broker from ReactJS无法从 ReactJS 连接到 MQTT 代理
【发布时间】:2021-12-27 09:52:41
【问题描述】:

我在连接到在 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;

【问题讨论】:

    标签: javascript reactjs websocket mqtt mq


    【解决方案1】:

    端口号 (99.9%) 错误,端口 1883 是本机 MQTT 端口,而不是 MQTT over WebSockets。正确的端口取决于您如何配置代理(假设 mosquitto,它默认没有定义 WebSocket 侦听器)

    另外,如果mqtt.connect() 函数要求提供主机名和端口,那么您不应该为 post 字段提供 URL。从一开始就删除ws://

    【讨论】:

      最近更新 更多