WebSocket è un protocollo che permette la comunicazione full-duplex su una connessione TCP. Lo standard originale è l'RFC 6464 ed è attualemente mantenuto da WHATWG.
Quella illustrata di seguito è l'implementazione del protocollo fornita dall'oggetto WebSocket utilizzabile all'interno dei browser. Questo oggetto permette di inviare e ricevere i dati da e verso un server remoto in maniera asincrona, non si è limitati allo schema domanda-risposta usato da altri oggetti come XmlHttpRequest.
Esempio
Partiamo subito con un esempio molto minimale in cui sono evidenziate le parti riguardanti la comunicazione con WebSocket:
La costruzione dell'oggetto [2] richiede un solo parametro: l'indirizzo del WebSocket sul sever, al momento della costruzione viene anche aperta la connessione.
Una volta creato l'oggetto è possibile impostare la proprietà onmessage
che è la funzione che verrà chiamata quando arriva un messaggio,
alla funzione verrà passato come parametro un oggetto di
tipo MessageEvent
di cui a noi interessa il campo data
[1] che contiene le informazioni ricevute.
Nell'esempio dell'oggetto WebSocket si usano anche due metodi:
[3]send()
che invia i dati al server e [4] close()
che chiude la connessione.