Les WebSockets fournissent un canal de communication en duplex intégral sur une connexion unique de longue durée, permettant une communication en temps réel entre un client (généralement un navigateur Web) et un serveur. Voici un aperçu de base de la façon dont vous pouvez utiliser les WebSockets en HTML5 :

  1. API WebSocket : L'API WebSocket est prise en charge dans la plupart des navigateurs modernes. Pour établir une connexion WebSocket, vous pouvez utiliser l'objet WebSocket en JavaScript.

    javascript
    // Create a WebSocket instance const socket = new WebSocket('ws://example.com/socket'); // Event handlers socket.onopen = function(event) { console.log('WebSocket connection opened:', event); }; socket.onmessage = function(event) { console.log('Received message:', event.data); }; socket.onclose = function(event) { console.log('WebSocket connection closed:', event); }; // Send a message socket.send('Hello, server!');
  2. Implémentation du serveur : vous avez besoin d'un serveur prenant en charge la communication WebSocket. Les choix courants incluent Node.js avec des bibliothèques comme ws ou l'utilisation de frameworks comme Socket.IO.

    Exemple utilisant Node.js et la bibliothèque ws :

    javascript
    const WebSocket = require('ws'); const server = new WebSocket.Server({ port: 3000 }); server.on('connection', (socket) => { console.log('Client connected'); // Handle messages from clients socket.on('message', (message) => { console.log('Received:', message); // Send a response socket.send('Hello, client!'); }); // Handle the connection closing socket.on('close', () => { console.log('Client disconnected'); }); });
  3. Connexion sécurisée (WSS) : pour des raisons de sécurité, vous devez utiliser wss (WebSocket Secure) au lieu de ws si votre site Web utilise HTTPS. Cela garantit une communication cryptée.

    javascript
    const socket = new WebSocket('wss://example.com/socket');
  4. Gestion des erreurs : implémentez la gestion des erreurs pour gérer les situations inattendues.

    javascript
    socket.onerror = function(error) { console.error('WebSocket error:', error); };
  5. Diffusion : les serveurs peuvent diffuser des messages à tous les clients connectés.

    javascript
    // Inside the server connection handler server.clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) { client.send('Broadcast message to all clients'); } });
  6. Fermer la connexion : vous pouvez fermer la connexion WebSocket à partir du client ou du serveur.

    javascript
    // Close the connection from the client socket.close(); // Close the connection from the server // Inside the server connection handler socket.close();

Ce ne sont que des exemples de base pour vous aider à démarrer. En fonction de votre cas d'utilisation spécifique, vous devrez peut-être implémenter davantage de fonctionnalités telles que l'authentification, la gestion de différents types de messages et la gestion des échecs de connexion.