Un Websocket è un protocollo di comunicazione bidirezionale.
In particolare la comunicazione avviene tra un browser (client) ed un server.
E’ un protocollo piuttosto semplice, domanda /risposta.
Il documento RFC che ne stabilisce lo standard è il numero rfc6455 .
Le ultime versione di browser sono compatibili con i websocket e ne implementano le funzionalità in maniera piuttosto completa.
La comunicazione viene gestita tramite eventi: viene creato un oggetto di tipo WebSocket che interagisce con messaggi da/verso il server.
Una volta attivata la comunicazione, il canale viene tenuto aperto fino a quando il client o il server non inviano un messaggio “closed”.
L’ambiente di utilizzo dei websocket è solitamente quello in cui la comuncazione tra client e server deve essere tenuta “viva” ed “aperta”. Viene inviato un messaggio al server, e si attende la risposta, come ad esempio all’interno di chat.
I WebSocket hanno accesso diretto al DOM dell’applicazione: vengono infatti eseguiti sul thread principale, quindi sul thread in cui viene eseguito il DOM.
I casi in cui vengono maggiornamenti utilizzati sono :
- sviluppo di giochi multi-players
- chat nel mondo web
- siti web legati al mondo dello sport
- applicazioni con streaming in real time