我有以下问题:
我已经在本地主机服务器上创建了mqtt代理,这是代码:
const settings = {
port: 1883
};
const server = new mosca.Server(settings);
let client
server.on("ready", function() {
console.log("Mosca server is running on port 1883");
client = mqtt.connect("mqtt://localhost:1883");
client.on("connect", function() {
client.subscribe("locateUser");
});
client.on("message", function(topic, message) {
context = message.toString();
console.log(context);
});
});
当我尝试从本地主机连接到代理时,一切都正常工作并发送消息。但是我想从反应本机应用程序连接到代理,并且无法建立连接。这是用于连接的代码:
mqtt
.createClient({
uri: "mqtt://XXX.XXX.X.XX:1883"
})
.then(client => {
console.log(client);
this.client = client;
client.on("closed", function() {
console.log("mqtt.event.closed");
});
client.on("error", function(msg) {
console.log("mqtt.event.error", msg);
});
client.on("message", function(msg) {
console.log("mqtt.event.message", msg);
});
client.on("connect", function() {
console.log("connected");
client.subscribe("/data", 0);
client.publish("/data", "test", 0, false);
});
client.connect();
})
.catch(function(err) {
console.log(err, 60);
});
我在接球时出错:
[TypeError: null is not an object (evaluating 'matches[2]')] 60
首先,尽管我有一个错误的LAN IP或类似问题。 但是我已经帮忙表达了REST API服务器,并测试了与REST API的连接-它工作正常,并且我可以看到对象从get请求发送给我。 您知道为什么它不起作用吗?