我有一个带有mqtt的javascript,我写了一个paho python用于订阅,但我没有得到任何结果。我想打印收到的消息
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://127.0.0.1',{
username: process.env.TOKEN
});
client.on('connect', function () {
console.log('connected');
client.subscribe('v1/devices/me/rpc/request/+')
});
client.on('message', function (topic, message) {
console.log('request.topic: ' + topic);
console.log('request.body: ' + message.toString());
var requestId = topic.slice('v1/devices/me/rpc/request/'.length);
//client acts as an echo service
client.publish('v1/devices/me/rpc/response/' + requestId, message);
});
'
子的相应python未发布,但我没有得到任何结果
def on_connect(client, userdata, flags, rc):
print("Connected with result code "+str(rc))
client.subscribe('v1/devices/me/rpc/request/+')
def on_message(client, userdata, msg):
print( msg.payload.decode())
client.disconnect()
client = mqtt.Client()
client.username_pw_set("5vTGKxGAHzv5TbsW2Jv1")
client.connect("127.0.0.1",1882,60)
client.on_connect = on_connect
client.on_message = on_message
client.loop_forever()
提前致谢
NodeJS 应用程序正在连接到 1883(默认端口(,Python 正在连接到 1882。
两组代码都订阅相同的主题(v1/devices/me/rpc/request/+
(,因此Python代码永远不会看到响应。
python代码上的缩进是错误的,因此连接和循环永远是on_message
回调的一部分。