我的文件中包含此代码(属于响应)
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中检查日志文件时
我被困在这里,任何人都可以帮忙。链接到任何对您有帮助的博客/视频将受到高度赞赏。
我正在使用mqttjs
答案 0 :(得分:1)
您已明确告诉MQTTjs库,通过在URI的开头使用mqtt://
在Websocket上使用本机MQTT而不是MQTT。
如果要在Web套接字上使用MQTT,则URI应该以{{1}}开头
第二,您正在使用端口1883,通常用于本机MQTT,而不是通过Websocket的MQTT。 cloudmqtt docs建议您使用以ws://
开头的端口号来访问websockets侦听器。