in Architettura Software

Web Sockets

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