2017-01-27 10 views
0

私はexpressとmqttパッケージでNodeJSを使用しています。 ユーザーが値 'test'でボタンを押すたびに、MQTTメッセージを送信する必要があります。nodejsとmqttメッセージを1回または常に送信する

しかし、私はmqttメッセージを送信するたびに、 '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('/'); 

}); 

を使用している「\」以下のコードでは

module.exports = 
{ 

Send 

}; 


    function Send(User){ 

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

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

    client.end(); 
    }); 


} 

私はなかれ取得、:私は、次のコードを使用して再び

をボタンを押したとき、私はそれを2回送っcan'tボタンがクリックされるたびにリセット内の関数の内部にあります。それは、Send(User)関数で間違っているようですが、私はエラーを見つけることができません。

答えて

1

次のソリューションは、私の仕事:

function Send(Test){ 

var mqtt = require('mqtt'); 

var client = mqtt.connect() 

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

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


client.end(); 
    }); 

} 
関連する問題