javascript - Nodejs 和 mqtt 发送消息一次或不断

标签 javascript node.js mqtt

我正在使用带有express和mqtt包的NodeJS。 每当用户按下值为“test”的按钮时,就应该发送一条 MQTT 消息。

但是,每当我发送 mqtt 消息时,它要么在我使用“client.end()”时发送一次,要么不断发送消息。当我再次按下按钮时,我无法发送两次

我使用以下代码:

  module.exports = 
 {

 Send

 };


  function Send(User){

  client.on('connect', function() {

  client.publish('alarm/reset', 'Hallo' + Test);

  client.end(); 
   });


 }

在“\”中使用以下代码

router.post('/', Authencitation, function(req,res){
var test = req.body.test;

if (test == 'test')
{   

reset.Send(req.session.user);
console.log('inside reset');

}

res.redirect('/');

});

但是,每当单击按钮时,我总是会进入重置内的函数。看来这是函数 Send(User) 中犯的一个错误,但我无法发现该错误。

最佳答案

以下解决方案对我有用:

function Send(Test){

var mqtt = require('mqtt');

var client  = mqtt.connect()

client.on('connect', function() {

client.publish('Test', 'Hallo' + username);


client.end();   
    });

}

关于javascript - Nodejs 和 mqtt 发送消息一次或不断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41904398/

相关文章:

amazon-web-services - 我的配置有什么问题? AWS - 使用 MQTT 的物联网

javascript - 如何隐藏地址栏中的Url?

javascript - es6中的of和click事件

javascript - OOJS 的问题

javascript - 我以为我已经将 this 引用传递到了 Javascript 闭包中的私有(private)函数中,我认为错误

linux - MQTT Auth 插件 - 构建问题

python - 如何在同一个 paho-mqtt 脚本下运行多个设备

node.js - 来自 Google Chrome 的 2 个请求而不是 1 个

node.js - 无法使用 create-react-app 生成项目

node.js - Firebase 函数找不到哈巴狗