无法在cloudmqtt上使用MQTTjs连接用户

时间:2019-02-24 14:04:36

标签: mqtt iot

我的文件中包含此代码(属于响应)

const client = mqtt.connect({
  host: 'mqtt://m16.cloudmqtt.com',
  port: 1883,
  username: 'b*******k',
  password: 'gU******S',
});
client.on('connect', () => {
  console.log('hello');
  client.subscribe('v');
  client.publish('v', 'chal pa');
});
client.on('message', (topic, message) => {
  if (topic === 'v') {
    console.log('here my topic is v');
    // var connected = (message.toString() === 'true');
  }
  console.log('recived message from mqtt');
  console.log(message);
});
client.on('error', er => {
  console.log(er);
});


我期望连接到mqtt代理并收到一些消息。
但是什么也没发生。当我在cloudmqtt.com中检查日志文件时

enter image description here

我被困在这里,任何人都可以帮忙。链接到任何对您有帮助的博客/视频将受到高度赞赏。

我正在使用mqttjs

1 个答案:

答案 0 :(得分:1)

您已明确告诉MQTTjs库,通过在URI的开头使用mqtt://在Websocket上使用本机MQTT而不是MQTT。

如果要在Web套接字上使用MQTT,则URI应该以{{1​​}}开头

第二,您正在使用端口1883,通常用于本机MQTT,而不是通过Websocket的MQTT。 cloudmqtt docs建议您使用以ws://开头的端口号来访问websockets侦听器。