MQTT在React Native上?

当我将MQTT添加到反应原生项目中时,我很难找出正确的方法。 该项目需要在iOS和Android上运行,所以理想情况下,可以在JavaScript端处理MQTT。 我意识到networking的巢穴是不同的,从移动到经典的节点,所以我开始分叉MQTT.js的路线,并在路障后碰到路障。

我应该继续分叉MQTT.js的路线吗? 我是否应该使用polyfills或其他方法来复制移动环境中的节点环境? 我应该分解并获得一个客观的C库和一个Java库并包装它们吗?

我在Android和iOS上都使用react-native-mqtt获得了适中的成功。 它只是跨越每个平台上的本机模块,Android上的Paho和iOS上的MQTTClient 。

在真正需要react-native-mqtt工作并且无法正确configuration之后,唉,我发现了react_native_mqtt 。 是的,他们看起来一样,但相信我,他们是不同的。

在这个模块中,你将不必为了获得这个工作而与Podfiles(ios)或MainActivity.java或MainApplication.java(android)文件纠缠在一起。 所有你需要做的就是包括它。

并按照说明进行操作 :

import { initMqtt } from 'react_native_mqtt'; import { AsyncStorage } from 'react-native'; ... your awesome code below! 

如果您的代理支持通过Websockets的MQTT,那么您可以使用Paho JavaScript库,并将其视为正常的Web应用程序(假设反应原生应用程序只是一个本地的Web浏览器的包装)。