WebSocket - Eventi e azioni
È necessario inizializzare la connessione al server dal client per la comunicazione tra di loro. Per inizializzare la connessione, è richiesta la creazione di un oggetto Javascript con l'URL con il server remoto o locale.
var socket = new WebSocket(“ ws://echo.websocket.org ”);
L'URL sopra menzionato è un indirizzo pubblico che può essere utilizzato per test ed esperimenti. Il server websocket.org è sempre attivo e quando riceve il messaggio e lo rimanda al client.
Questo è il passaggio più importante per garantire che l'applicazione funzioni correttamente.
Web Socket - Eventi
Esistono quattro principali API Web Socket events -
- Open
- Message
- Close
- Error
Ciascuno degli eventi viene gestito implementando le funzioni come onopen, onmessage, onclose e onerrorfunzioni rispettivamente. Può anche essere implementato con l'aiuto del metodo addEventListener.
La breve panoramica degli eventi e delle funzioni è descritta di seguito:
Aperto
Una volta stabilita la connessione tra il client e il server, l'evento open viene generato dall'istanza Web Socket. Viene chiamato come handshake iniziale tra client e server. Viene chiamato l'evento, che viene generato una volta stabilita la connessioneonopen.
Messaggio
L'evento del messaggio si verifica in genere quando il server invia alcuni dati. I messaggi inviati dal server al client possono includere messaggi di testo semplice, dati binari o immagini. Ogni volta che i dati vengono inviati, ilonmessage viene attivata la funzione.
Vicino
L'evento Close segna la fine della comunicazione tra il server e il client. La chiusura della connessione è possibile con l'aiuto dioncloseevento. Dopo aver segnato la fine della comunicazione con l'aiuto dionclosenessun messaggio può essere ulteriormente trasferito tra il server e il client. La chiusura dell'evento può avvenire anche a causa della scarsa connettività.
Errore
Contrassegni di errore per qualche errore, che si verifica durante la comunicazione. È contrassegnato con l'aiuto dionerror evento. Onerrorè sempre seguito dalla cessazione della connessione. La descrizione dettagliata di ogni evento è discussa nei capitoli successivi.
Web Socket - Azioni
Gli eventi vengono solitamente attivati quando accade qualcosa. D'altra parte, le azioni vengono intraprese quando un utente desidera che accada qualcosa. Le azioni vengono eseguite tramite chiamate esplicite utilizzando le funzioni degli utenti.
Il protocollo Web Socket supporta due azioni principali, vale a dire:
- Spedire( )
- vicino( )
Spedire ( )
Questa azione è generalmente preferita per alcune comunicazioni con il server, che includono l'invio di messaggi, che includono file di testo, dati binari o immagini.
Un messaggio di chat, che viene inviato con l'aiuto dell'azione send (), è il seguente:
// get text view and button for submitting the message
var textsend = document.getElementById(“text-view”);
var submitMsg = document.getElementById(“tsend-button”);
//Handling the click event
submitMsg.onclick = function ( ) {
// Send the data
socket.send( textsend.value);
}
Note - L'invio dei messaggi è possibile solo se la connessione è aperta.
vicino ( )
Questo metodo sta per goodbye handshake. Termina completamente la connessione e nessun dato può essere trasferito fino a quando la connessione non viene ristabilita.
var textsend = document.getElementById(“text-view”);
var buttonStop = document.getElementById(“stop-button”);
//Handling the click event
buttonStop.onclick = function ( ) {
// Close the connection if open
if (socket.readyState === WebSocket.OPEN){
socket.close( );
}
}
È anche possibile chiudere la connessione deliberatamente con l'aiuto del seguente frammento di codice:
socket.close(1000,”Deliberate Connection”);