首页 > 解决方案 > React Native 中连接和订阅 MQTT 服务器的问题

问题描述

我已经构建了一个 MQTT 服务器(mosquitto),我想连接并订阅 React Native 中的服务器。

域名:mqtt.brilcom.com / 端口:1883

我要订阅的主题是“Pico-Home/ack/240AC4223772”。

我正在使用https://github.com/davesters/rn-native-mqtt包。但是,它似乎没有连接或订阅服务器。

请在下面查看我的代码:(React Native.js)

useEffect(() => {
    const client = new Mqtt.Client('tcp://mqtt.brilcom.com :1883');

    client.connect({
      clientId: 'CLIENT_ID',
    }, err => {});

    client.on(Mqtt.Event.Message, (topic, message) => {
      console.log('Mqtt Message:', topic, message.toString());
    });
    
    client.on(Mqtt.Event.Connect, () => {
      console.log('MQTT Connect');
      client.subscribe(['Pico-Home/ack/240AC4223772'], [0]);
    });
    
    client.on(Mqtt.Event.Error, (error) => {
      console.log('MQTT Error:', error);
    });
    
    client.on(Mqtt.Event.Disconnect, (cause) => {
      console.log('MQTT Disconnect:', cause);
    });

}, []);

上面的代码有什么问题吗?另外,如何连接和订阅服务器?

mosquitto_sub -h mqtt.brilcom.com -p 1883 -t Pico-Home/ack/240AC4223772

Mosquitto_pub -h mqtt.brilcom.com -p 1883 -t Pico-Home/ack/240AC4223772 -m "20210508|0006|0100|0701|00db|0302|e803|127.0.0.1"

在 cmd 中尝试这些命令。

任何帮助表示赞赏。

标签: react-nativemqttmosquitto

解决方案


推荐阅读