Tracking de l'application VNode (moteur du jeu, services, broker.. etc
This commit is contained in:
52
VNode/services/game/quizz-collector.js
Normal file
52
VNode/services/game/quizz-collector.js
Normal file
@@ -0,0 +1,52 @@
|
||||
const fs = require('fs');
|
||||
const mqtt = require('mqtt');
|
||||
|
||||
// Lecture du fichier de configuration
|
||||
const config = JSON.parse(fs.readFileSync('\services\\config\\config_game.json', 'utf8'));
|
||||
|
||||
// Extraction des informations de config
|
||||
const { services: { mqttHost, quizzcollector: { MQTTconfig: { mqttQuizzCollectorListTopic, mqttQuizzCollectorCmdTopic } } } } = config;
|
||||
|
||||
// Configuration
|
||||
const folderPath = 'quizz'; // Remplace par le chemin de ton dossier
|
||||
|
||||
// Connexion au broker MQTT
|
||||
const client = mqtt.connect(mqttHost);
|
||||
|
||||
client.on('connect', () => {
|
||||
console.log('Connecté au broker MQTT');
|
||||
client.subscribe(mqttQuizzCollectorCmdTopic, (err) => {
|
||||
if (err) {
|
||||
console.error("Erreur lors de l'abonnement au topic de commande:", err);
|
||||
} else {
|
||||
console.log(`Abonné au topic ${mqttQuizzCollectorCmdTopic}`);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
client.on('message', (topic, message) => {
|
||||
if (topic === mqttQuizzCollectorCmdTopic) {
|
||||
console.log('Commande reçue, lecture du dossier en cours...');
|
||||
Collect();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
function Collect() {
|
||||
fs.readdir(folderPath, (err, files) => {
|
||||
if (err) {
|
||||
console.error('Erreur lors de la lecture du dossier:', err);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Dossiers trouvés:', files);
|
||||
const message = JSON.stringify( files );
|
||||
client.publish(mqttQuizzCollectorListTopic, message, { qos: 1 }, (err) => {
|
||||
if (err) {
|
||||
console.error('Erreur lors de la publication MQTT:', err);
|
||||
} else {
|
||||
console.log('Liste des fichiers publiée sur MQTT');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user