如何使用mosquitto代理在mqtt消息中获取头代理或设备/浏览器详细信息。我的mqtt代码示例:
var mqtt = require('mqtt');
var client = mqtt.connect('mqtt://127.0.0.1:1883',{
username: 'xxxx',
password: 'xxxx'
});
client.on('connect', function (err,done) {
if(err){
console.log(err)
}else{
console.log("Connected...")
client.subscribe('test');
}
})
client.on('message', function (topic, message) {
// want to get the header details here.
})
答案 0 :(得分:0)
您无法从MQTT消息中获取消息有效内容和主题以外的任何内容,因为消息格式中不包含其他信息。这是设计,在Pub / Sub消息传递中唯一重要的是主题和有效负载,而不是谁发送它。
on('message',function(){})
回调可以采用第三个参数,即原始mqtt-packet对象。您可以在文档here中查看完整的数据列表。但唯一的额外信息是关于重复状态,qos以及是否保留了消息。
client.on('message',function(topic, message, mqtt-packet) {
...
});
如果您需要更多信息,则需要手动将其包含在客户自己发布的消息有效负载中。