Socket.IO Test Client
Connettiti a un server Socket.IO per emettere eventi e ispezionare i messaggi in arrivo.
Input
Output
Leggimi
Che cos'è Socket.IO?
Socket.IO è una libreria JavaScript che abilita la comunicazione bidirezionale in tempo reale tra client web e server. Anche se utilizza WebSocket come trasporto principale, esegue automaticamente il fallback al long-polling HTTP quando WebSocket non è disponibile, rendendo le connessioni più affidabili in diversi ambienti di rete e proxy. Socket.IO aggiunge il proprio livello di protocollo sopra il trasporto grezzo — incluso un handshake personalizzato, heartbeat, riconnessione automatica e un sistema di eventi denominati — quindi non è intercambiabile con un server WebSocket semplice.
Una caratteristica chiave di Socket.IO è il suo modello di eventi: invece di inviare messaggi grezzi, i client e i server emettono e ascoltano eventi denominati (ad es. chat message, user joined), il che rende la logica dell'applicazione più pulita e facile da organizzare.
Descrizione dello strumento
Questo strumento fornisce un client Socket.IO interattivo che funziona interamente nel browser. Connettiti a qualsiasi server Socket.IO, scegli un evento denominato, componi messaggi di testo o JSON, inviali e osserva gli eventi in arrivo e le risposte del server apparire in un registro con timestamp. Mostra anche il livello di trasporto attivo (WebSocket o polling) in modo da poter verificare che l'aggiornamento previsto sia avvenuto.
Funzionalità
- Supporto per eventi denominati — specifica qualsiasi nome di evento prima di inviare in modo che i messaggi arrivino sotto il listener corretto sul server.
- Visibilità del trasporto — visualizza se la connessione utilizza il trasporto WebSocket o HTTP polling e si aggiorna automaticamente dopo il completamento dell'handshake di aggiornamento di Socket.IO.
- Modalità testo e JSON — componi payload in testo semplice o passa alla modalità JSON con evidenziazione della sintassi e convalida prima dell'invio.
Opzioni spiegate
URL del server — l'URL HTTP(S) completo del server Socket.IO (ad es. https://example.com/socketio). I server Socket.IO spesso ascoltano su un percorso come /socket.io/; il client gestisce il percorso dell'handshake automaticamente.
Nome dell'evento — il nome dell'evento Socket.IO da emettere quando si invia un messaggio. Il valore predefinito è message. Modificalo per corrispondere all'evento che il tuo server ascolta (ad es. chat, ping, data).
Tipo di dati — passa tra Testo e JSON. In modalità JSON il payload viene convalidato e inviato come oggetto analizzato; in modalità Testo viene inviato come stringa semplice.
Scorrimento automatico — quando abilitato, il registro dei messaggi scorre automaticamente all'ultima voce quando arrivano nuovi messaggi.
Come funziona
Il client si connette al server di destinazione utilizzando l'SDK JavaScript ufficiale di Socket.IO. Dopo l'handshake HTTP iniziale, Socket.IO tenta di aggiornare il trasporto da HTTP polling a WebSocket. Lo strumento segnala quale trasporto è attivo e aggiorna l'etichetta ogni volta che si verifica un aggiornamento. Tutti gli eventi ricevuti dal server — indipendentemente dal nome dell'evento — vengono acquisiti e visualizzati nel registro con un timestamp.
Suggerimenti
- Se la connessione ha successo ma non appaiono messaggi, conferma che il server emette eventi al client che si connette, non solo ad altri client.
- Utilizza il campo del nome dell'evento per testare i gestori lato server individualmente senza scrivere alcun codice.
- Un trasporto "polling" che non si aggiorna mai a "websocket" spesso indica un reverse proxy che non supporta gli aggiornamenti WebSocket (ad es. un load balancer senza sessioni sticky).