WebSocket è un protocollo di comunicazione che fornisce comunicazione full-duplex su una singola connessione TCP. Questo ti permette di inviare messaggi a un server e ricevere risposte event-driven senza dover richiedere una risposta per ogni messaggio.
Ecco un esempio di come si può implementare la connessione WebSocket in un’applicazione React.
Prima di tutto, avrai bisogno di installare la libreria `reconnecting-websocket` che gestisce automaticamente la riconnessione in caso di disconnessione. Puoi farlo con npm o yarn:
```
npm install —save reconnecting-websocket
Quindi, in un nuovo file, crea una nuova classe o componente funzionale:
```
import React, { useEffect, useState } from ‘react’;
import ReconnectingWebSocket from ‘reconnecting-websocket’;
const wsUrl = ‘ws://my-websocket-url’; // Inserisci qui l’URL del tuo WebSocket
function MyComponent() { const [ws, setWs] = useState(null);
// Apre una nuova connessione WebSocket quando il componente si monta useEffect(() => { const websocket = new ReconnectingWebSocket(wsUrl); setWs(websocket); }, []); // Invia un messaggio al WebSocket quando si clicca un pulsante const sendMessage = () => { if (ws) { ws.send(‘Ciao Mondo!’); } }; return ( ); }export default MyComponent;
```
Hai bisogno di gestire eventi come `onopen`, `onmessage`, `onclose` e `onerror` per interagire con il WebSocket, ad esempio:
```
useEffect(() => {
const websocket = new ReconnectingWebSocket(wsUrl);
Questo è un esempio semplice e potrebbe essere necessario adattarlo alle tue esigenze specifiche. Ricorda che quando il componente si smonta, dovresti chiudere la connessione WebSocket per evitare memory leaks. Puoi farlo ritornando una funzione di cleanup dall’hook `useEffect`:
```
useEffect(() => {
// …
Ricorda anche di gestire i messaggi in ingresso in modo appropriato a seconda del tuo caso d’uso.