我在node.js上运行的mqtt应用中没有任何响应

时间:2018-09-19 06:55:49

标签: javascript node.js mqtt iot subscribe

我正在尝试订阅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

0 个答案:

没有答案