Javascript Paho MQTT:可能的导入错误?
我最近通过Thread下载了paho mqttJavascript Paho MQTT:可能的导入错误?,javascript,react-native,mqtt,paho,Javascript,React Native,Mqtt,Paho,我最近通过Thread下载了paho mqtt。问题是,我不确定是否正确导入,因为我遇到了一个错误: 无法读取未定义的属性“Client” 我导入和使用它的方式如下: import Paho from 'paho-mqtt'; var client = new Paho.MQTT.Client(location.host, location.port, location.clientID) const MQTTConnectAndMessage = (message) => {
。问题是,我不确定是否正确导入,因为我遇到了一个错误:
无法读取未定义的属性“Client”
我导入和使用它的方式如下:
import Paho from 'paho-mqtt';
var client = new Paho.MQTT.Client(location.host, location.port, location.clientID)
const MQTTConnectAndMessage = (message) => {
client.connect({onSuccess: sendMQTTMessage})
}
const sendMQTTMessage = (msg) => {
let message = new Paho.MQTT.Message(msg);
message.destinationName = location.messageDestination;
client.send(message);
}
location.host=IP地址的字符串
location.port=端口的编号
location.clientID=clientID的字符串
如果相关,我将尝试在React本机应用程序中使用它
也许这个模块不是要通过NPM或Yarn下载的?或者我不应该进口“泛美卫生组织”
编辑:当使用react native paho mqtt
时——这是我正在使用的代码:
const client = new Client({ uri: 'ws://myiphere/ws', port: 1883, clientId: 'clientId', storage: myStorage});
const sendMQTTMessage = (msg) => {
client.on('connectionLost', (responseObject) => {
if (responseObject.errorCode !== 0) {
console.log("connection lost!");
}
});
client.on('messageReceived', (message) => {
console.log(message.payloadString);
});
client.connect()
.then(() => {
const message = new Message(msg);
message.destinationName = 'F2/BOX2/LED3';
client.send(message);
})
.catch((responseObject) => {
if (responseObject.errorCode !== 0) {
console.log('onConnectionLost:' + responseObject.errorMessage);
}
});
}
export {
sendMQTTMessage
}
我注意到,每当我输入任何不以ws://(web套接字)开头的内容时,我都会得到一个URI错误 尝试使用本机兼容库:
本地paho mqtt
paho mqtt库已更改,示例代码不正确
var client = new Paho.MQTT.Client(location.host, location.port, location.clientID)
应更改为(从对象路径中删除MQTT):
请参见GitHub自述页面中的“突破性更改”:
第2行中缺少分号,但仍会打印相同的错误消息…您必须在paho javascript客户端中使用ws://
URL,它不支持本机MQTT(tcp://
或MQTT://
URL)。您需要确保您的MQTT代理通过Websockets支持MQTT,并确保它已启用。这也很可能不在我已经启用的端口1883(默认本机MQTT端口)上。不幸的是,每次我输入服务器的IP时,它都会给我一个URI错误。你能复制并粘贴错误和导致错误的行吗?已更新。。。当我用ws://附加uri时,uri错误消失了。。。但是我无法建立联系。。。我想说我的MQTT服务器不支持WebSockets,但我使用了python版本的paho,没有任何问题——使用WebSockets。。。现在的问题是,我只是在控制台中得到一个“onConnectionLost.undefined”对象。
var client = new Paho.Client(location.host, location.port, location.clientID)