Ich lerne MQTT und möchte den Open Source mosca broker zu einer azure Web App mit mosca ohne Datenbank implementieren (brauche keine QoS die Persistenz beinhaltet).mosca mqtt broker auf azure
Ich habe den Code aus http://thejackalofjavascript.com/getting-started-mqtt/ verwendet, die für ein auf lokale Bereitstellung (siehe unten)
var mosca = require('mosca')
var settings = {
port: 1883
};
//here we start mosca
var server = new mosca.Server(settings);
server.on('ready', setup);
// fired when the mqtt server is ready
function setup() {
console.log('Mosca server is up and running')
}
// fired when a client is connected
server.on('clientConnected', function(client) {
console.log('client connected', client.id);
});
// fired when a message is received
server.on('published', function(packet, client) {
console.log('Published : ', packet.payload);
});
// fired when a client subscribes to a topic
server.on('subscribed', function(topic, client) {
console.log('subscribed : ', topic);
});
// fired when a client subscribes to a topic
server.on('unsubscribed', function(topic, client) {
console.log('unsubscribed : ', topic);
});
// fired when a client is disconnecting
server.on('clientDisconnecting', function(client) {
console.log('clientDisconnecting : ', client.id);
});
// fired when a client is disconnected
server.on('clientDisconnected', function(client) {
console.log('clientDisconnected : ', client.id);
});
ich diesen Code bekommen auf Azure Website laufe ein großes Tutorial, aber nicht wissen, was zu Setup als die Adresse und die Ports für diesen Broker in einem Client mit MQTT - siehe unten
var mqtt = require('mqtt')
client = mqtt.connect([{port:1883, host:'???'}]); //what do you use here as the port and server address here instead of localhost and 1883? I tried using the URL for the web app in azure but it does not work and i do not get any error messages.
client.on('connect', function() {
console.log('client connected');
client.subscribe('presence');
client.publish('presence', 'Hello mqtt');
});
client.on('message', function (topic, message) {
// message is Buffer
console.log(message.toString());
client.end();
});
Vielen Dank im Voraus,
Lakhdar, danke. Das hat sehr geholfen. Dank Ihrer Einsicht funktioniert es jetzt. Ich musste den Schritten folgen, um einen Node-HTTP-Server mit MQTT-über-Websocket-Funktionalität zu erweitern, indem ich die Server # attachHttpServer-Methode wie in dem von Ihnen vorgeschlagenen Link aufgerufen habe und wenn dies mit dem var-Client = mqtt.connect ('ws:// .azurewebsites.net '); Vorschlag Sie hatten es funktioniert!. Danke nochmal –
bulho
Sie sind willkommen :) –
@bulho können Sie bitte Ihre Lösung teilen? Ich kann diese Arbeit machen –