J'apprends MQTT et j'aimerais déployer le courtier mosca open source dans une application web azure exécutant mosca sans base de données (pas besoin de QoS qui implique la persistance).mosca mqtt broker sur azure
J'ai utilisé le code de http://thejackalofjavascript.com/getting-started-mqtt/ qui est un excellent tutoriel pour un sur le déploiement des locaux (voir ci-dessous)
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);
});
Je peux obtenir ce code en cours d'exécution sur le site Web Azure mais ne savent pas quoi configurer comme l'adresse et les ports de ce courtier dans un client à l'aide MQTT - s'il vous plaît voir ci-dessous
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();
});
Merci à l'avance,
Lakhdar, merci. Cela a beaucoup aidé. Je l'ai maintenant travailler grâce à votre perspicacité. J'ai dû suivre les étapes pour augmenter un serveur HTTP de noeud avec MQTT-over-Websocket Capability en appelant la méthode Server # attachHttpServer comme indiqué dans le lien que vous avez suggéré et en faisant cela avec le client var = mqtt.connect ('ws:// .azurewebsites.net '); suggestion que vous avez fait marcher! Merci encore –
bulho
Vous êtes les bienvenus :) –
@bulho pouvez-vous s'il vous plaît partager votre solution? Je ne peux pas faire ce travail –