0
var mqtt = require('mqtt')
var options = {
  username: 'abc',
  password: 'xyz',
}
var client  = mqtt.connect('mqtt:localhost:1883', options);

function authenteClient() {
      // I need to call this function against the callback at server's 
      // authenticate function.
}

在上面的代码中,我在此 mqtt 客户端的选项中提供用户名和密码。

var mosca = require('mosca');
var ascoltatore = {
    type: 'mongo',
    url: 'mongodb://localhost:27017/mqtt',
    pubsubCollection: 'ascoltatori',
    mongo: {}
    };

var settings = {
  port: 1883,
  backend: ascoltatore 
};
var server = new mosca.Server(settings);
server.on('ready', setup);

function setup() {
  server.authenticate = authenticate;
  console.log('Mosca server is up and running');
}

var authenticate = function(client, username, password, callback) {
   console.log(username, password);
   callback(true);
}

authenticate函数的服务器端,我需要在客户端连接一个回调,该回调在那里被调用为callback(true).

4

2 回答 2

0

如果客户端在代理端的身份验证失败,它将无法连接。

如果它通过它将连接,并且您可以使用client.on('connect',function(){})事件侦听器来通知您。

于 2018-04-19T06:44:51.650 回答
0

迟到了,但在客户端你可以做这样的事情:

//Handle errors
client.on("error", (error) => {
  console.log("Error: ", error.message);
});

在此阶段,可以优雅地处理来自服务器的任何错误。

于 2020-05-02T11:18:50.763 回答