MQTT上反应母语:AMQJS0016E无效MQTT消息类型0
问题描述:
我使用泛美卫生组织MQTT JS(https://github.com/eclipse/paho.mqtt.javascript)上反应经由桥原生(https://github.com/Introvertuous/react_native_mqtt)MQTT上反应母语:AMQJS0016E无效MQTT消息类型0
它运作良好,在老版本的阵营本土
"react": "~15.4.0-rc.4",
"react-native": "0.40.0",
"react-native-elements": "^0.9.2",
"react-native-storage": "^0.1.4",
"react-native-vector-icons": "^4.0.0",
"react_native_mqtt": "^1.1.4"
但它不会用新版本的工作了:
"react": "16.0.0-alpha.12",
"react-native": "0.46.4",
"react-native-elements": "^0.15.0",
"react-native-storage": "^0.2.2",
"react-native-vector-icons": "^4.2.0",
"react_native_mqtt": "^1.1.6"
我总是得到错误“Object {invocationContext: undefined, errorCode: 16, errorMessage: "AMQJS0016E Invalid MQTT message type 0."}
”
我认为有在RN的新版本可能打破MQTT功能(对WebSocket的可能与?)
我尝试了很多办法,但无法找到任何线索来解决这个问题的变化。请帮助我...任何想法都欢迎...
答
这是/是由于一个React Native错误。
二进制的WebSockets在反应上Android本地按提交93a1d5(其在0.46释放第一降落),后来由7e29b1固定(将在0.48降落但也cherry-picked到0.47最终)被打破。
因此,您应该发现将React Native更新为0.47。*可以解决您的问题。如果您需要猴子补丁0.46,只需使用单行7e29b1。 HTH。