react-native 创建mqtt客户端

本文介绍了在React Native中创建MQTT客户端的步骤,包括安装库和配置连接。在设置自动重连后,遇到客户端反复掉线重连的问题,原因是clientId在两次启动时重复导致。解决方法是确保每次启动时使用唯一的clientId。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

react-native 创建mqtt客户端

安装

参考https://www.npmjs.com/package/react-native-native-mqtt

import * as Mqtt from 'react-native-native-mqtt';
 
const client = new Mqtt.Client('[SCHEME]://[URL]:[PORT]');
 
client.connect({
    clientId: 'CLIENT_ID',
    ...
}, err => {});
 
client.on(Mqtt.Event.Message, (topic: string, message: Buffer) => {
    console.log('Mqtt Message:', topic, message.toString());
});
 
client.on(Mqtt.Event.Connect, () => {
    console.log('MQTT Connect');
    client.subscribe(['#'], [0]);
});
 
client.on(Mqtt.Event.Error, (error: string) => {
    console.log('MQTT Error:', error);
});
 
client.on(Mqtt.Event.Disconnect, (cause: string) => {
    console.log('MQTT Disconnect:', cause);
});

问题

设置自动重连之后,重启2次客户端会出现,反复掉线重连的情况。
原因:clientId 两次启动重复导致第二次启动,无法正常链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值