WebSockets est une technologie avancée qui permet d'ouvrir une session de communication interactive entre le navigateur de l'utilisateur et un serveur. Avec cette API, vous pouvez envoyer des messages à un serveur et recevoir des réponses basées sur des événements sans avoir à interroger le serveur pour obtenir une réponse.
Dans le chapitre 38 de notre cours en e-book, nous explorerons comment utiliser les WebSockets dans NodeJS. Avant de commencer, il est important de bien comprendre ce que sont les WebSockets et pourquoi ils sont utiles.
Que sont les WebSockets ?
WebSockets est une technologie qui permet une communication bidirectionnelle entre un client et un serveur. Cela signifie que le client et le serveur peuvent initier la communication, contrairement au protocole HTTP standard où seul le client peut initier la communication.
Les WebSockets sont utiles dans les applications qui nécessitent une communication en temps réel, telles que les jeux en ligne, le chat en direct, entre autres. Ils permettent d'envoyer et de recevoir des messages sans qu'il soit nécessaire de faire une requête HTTP complète, ce qui peut s'avérer inefficace pour de telles applications.
Travailler avec WebSockets dans NodeJS
Pour travailler avec WebSockets dans NodeJS, nous devons installer un module appelé « ws ». Vous pouvez l'installer à l'aide de npm (Node Package Manager) avec la commande suivante :
Une fois installé, nous pouvons l'importer dans notre fichier et commencer à l'utiliser. Voici un exemple simple de création d'un serveur WebSocket :
Dans cet exemple, nous créons un nouveau serveur WebSocket sur le port 8080. Lorsqu'un client se connecte au serveur, il envoie un message d'accueil. De plus, chaque fois que le serveur reçoit un message du client, il l'imprime sur la console.
Communiquer avec le client
Pour communiquer avec le client, nous pouvons utiliser les méthodes 'send' et 'on'. La méthode 'send' est utilisée pour envoyer un message au client, tandis que la méthode 'on' est utilisée pour gérer des événements tels que la réception d'un message du client.
Voici un exemple d'utilisation de ces méthodes :
Dans cet exemple, chaque fois que nous recevons un message du client, nous renvoyons une réponse, faisant écho au message que nous avons reçu.
Conclusion
Les WebSockets sont une technologie puissante qui permet une communication en temps réel entre un client et un serveur. Ils sont particulièrement utiles dans les applications qui nécessitent des mises à jour en temps réel, telles que les jeux en ligne et les chats en direct.
Dans NodeJS, nous pouvons travailler avec des WebSockets en utilisant le module 'ws'. Ce module nous permet de créer des serveurs WebSocket, d'envoyer et de recevoir des messages et de gérer des événements.
Nous espérons que ce chapitre vous a donné une bonne introduction à l'utilisation des WebSockets dans NodeJS. Dans le chapitre suivant, nous explorerons comment travailler avec des bases de données dans NodeJS.