Sommaire
Comment intégrer des WebSockets dans une application Node.js
Les WebSockets sont une technologie essentielle pour créer des applications web en temps réel. Ils permettent une communication bidirectionnelle entre le client et le serveur, ce qui est particulièrement utile pour des applications comme les chats en ligne, les jeux multijoueurs ou les tableaux de bord en temps réel. Dans cet article, nous allons explorer comment intégrer des WebSockets dans une application Node.js.
Qu’est-ce que WebSocket ?
WebSocket est un protocole de communication qui permet d’établir une connexion persistante entre le client et le serveur. Contrairement aux requêtes HTTP traditionnelles, où le client doit constamment demander des mises à jour, les WebSockets permettent au serveur d’envoyer des données au client dès qu’elles sont disponibles. Cela réduit la latence et améliore l’expérience utilisateur.
Pré-requis
Avant de commencer, assurez-vous d’avoir Node.js installé sur votre machine.
. Vous aurez également besoin de quelques bibliothèques, notamment ws, qui est une bibliothèque WebSocket pour Node.js. Vous pouvez l’installer via npm :
npm install wsCréation d’un serveur WebSocket
Pour créer un serveur WebSocket, commencez par créer un fichier server.js et ajoutez le code suivant :
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', (socket) => {
console.log('Un client est connecté');
socket.on('message', (message) => {
console.log(`Message reçu : ${message}`);
socket.send(`Vous avez dit : ${message}`);
});
socket.on('close', () => {
console.log('Un client s'est déconnecté');
});
});
console.log('Serveur WebSocket en écoute sur le port 8080');Ce code crée un serveur WebSocket qui écoute sur le port 8080. Lorsqu’un client se connecte, il peut envoyer des messages, et le serveur renvoie une réponse.
Création d’un client WebSocket
Pour tester votre serveur, vous pouvez créer un client WebSocket simple dans un fichier HTML. Voici un exemple :
<!DOCTYPE html>
<html>
<head>
<title>Client WebSocket</title>
</head>
<body>
<script>
const socket = new WebSocket('ws://localhost:8080');
socket.onopen = () => {
console.log('Connecté au serveur');
socket.send('Bonjour serveur !');
};
socket.onmessage = (event) => {
console.log(`Message du serveur : ${event.data}`);
};
socket.onclose = () => {
console.log('Déconnecté du serveur');
};
</script>
</body>
</html>Ce code crée un client qui se connecte à votre serveur WebSocket et envoie un message dès qu’il est connecté. Il affiche également les messages reçus du serveur dans la console.
Conclusion
Intégrer des WebSockets dans une application Node.js est un excellent moyen d’améliorer l’interactivité et la réactivité de votre application. Grâce à la simplicité de la bibliothèque ws, vous pouvez rapidement mettre en place une communication en temps réel entre le client et le serveur. N’hésitez pas à explorer davantage les fonctionnalités des WebSockets pour enrichir vos applications web !

