我正在尝试订阅mqtt brocker,但是在node.js上运行代码时什么也没发生
var mqtt = require('mqtt')
const address = "mqtt://myaddress"
const port = 1883
const user = 'iot'
const pass = 'iot2017'
var options = {port: port, user: user, password: pass, debug: true,
onSuccess: function () {
console.log("Connected");
},
//Gets Called if the connection could not be established
onFailure: function (message) {
console.log("Connection failed: " + message.errorMessage);
}}
var client = mqtt.connect(address, options)
client.on('connect', function () {
console.log('connected')
client.subscribe('iotmehow/temp', function (err) {
console.log('subscribe temp')
if (!err) {
client.publish('presence', 'Hello mqtt')
}
else{
console.log('subscribe error')
console.log(err)
}
})
})
client.on('message', function (topic, message) {
console.log('message')
console.log(message)
client.end()
})
client.on('error', function (topic, message) {
// message is Buffer
console.log('error')
console.log(message)
//client.end()
})
当我使用来自github的代码时,它可以工作:
var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://test.mosquitto.org')
client.on('connect', function () {
client.subscribe('presence', function (err) {
if (!err) {
client.publish('presence', 'Hello mqtt')
}
})
})
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString())
client.end()
})
我的代码没有任何响应,也没有onSuccess,onFailure也没有显示任何内容。 我正在使用节点v6.10.2和Windows 10