Dans le cadre de l’un de mes projets, je dois développer un logiciel backend Node.js capable de dialoguer avec un robot en utilisant le protocole UDP (User Datagram Protocol).
Nous allons donc voir dans cet article comment mettre en place cette communication en utilisant deux scripts JavaScript : l’un pour simuler l’envoi des données par le robot robot-simulator.js
et l’autre pour recevoir ces données robot-udp-service.js
. Nous allons détailler ces scripts et expliquer leur fonctionnement.
Cette solution permet de transmettre des données optimisées, minimisant ainsi la taille des paquets pour une communication efficace et rapide.
Le Protocole UDP
UDP est un protocole de communication rapide mais non fiable. Contrairement à TCP, il n’assure pas la livraison des paquets et ne garantit pas leur ordre. Cependant, sa rapidité en fait un excellent choix pour des applications temps réel ou où la vitesse est cruciale.
Diagramme Séquentiel de la Communication
Explication de la Structure des Données
Les données, au niveau du robot, sont optimisées pour minimiser la taille des paquets envoyés. Voici comment les données sont structurées sur deux octets :
Octet 1 |
---|
Bits 0-1 : num1 |
Bits 2-7 : charCode (6 bits) |
Octet 2 |
---|
Bits 0-1 : charCode (suite, 2 bits) |
Bits 2-7 : num2 |
num1
: un nombre entre 0 et 3, codé sur 2 bits.charCode
: le code ASCII d’un caractère (a-z), codé sur 8 bits (6 bits dans le premier octet, 2 bits dans le second).num2
: un nombre entre 0 et 63, codé sur 6 bits dans le second octet.
Il va donc falloir restructurer ses données pour les exploiter dans le service de réception. Nous allons pour cela utiliser des techniques de décalage et de masquage de bits pour extraire les différentes parties des octets.
Script de Simulation du Robot : robot-simulator.js
Ce script simule le comportement du robot en envoyant des messages UDP structurés au service de réception.
1 | // Importation du module 'dgram' pour créer des sockets UDP |
Script de Réception des Données : robot-udp-service.js
Ce script écoute les messages UDP envoyés par le robot. Il décode les messages structurés et affiche les données reçues.
1 | // Importation du module 'dgram' pour créer des sockets UDP |
Exécution des Scripts
Conclusion
Ces scripts montrent comment envoyer et recevoir des messages UDP structurés en Node.js. Cette technique peut être adaptée pour divers types de communication en temps réel où la rapidité est cruciale. En suivant et adaptant ces exemples, vous pourrez implémenter des solutions similaires pour vos propres projets.
Jérémy @ Code Alchimie
Une idée de business en ligne ? Un saas à développer ? Une boutique en ligne à créer ?
Essayer mon-plan-action.fr pour vous aider à démarrer votre projet en ligne.