WebSocket
è un oggetto utilizzabile nei programmi
Javascript per creare un canale di comunicazione bidirezionale con
un server remoto.
Usando questo oggetto è possibile sia inviare che ricevere i dati in maniera asincrona senza il bisogno di dover restare in attesa della risposta.
Esempio
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Richiesta via http</title>
<script type="text/javascript">
var ws = new WebSocket("ws://esempio.org/wschat/chat");
ws.onopen = function(){
console.log("websocket aperto!");
};
ws.onmessage = function(message){
document.getElementById("ricezione").textContent += message.data + "\n";
};
function inviaAlServer(){
ws.send(document.getElementById("msg").value);
document.getElementById("msg").value = "";
}
function chiudiLaConnessione(){
ws.close();
}
</script>
</head>
<body>
<textarea id="ricezione" readonly></textarea><br/>
<input id="msg" type="text" />
<button onClick="inviaAlServer()">invia!</button>
<button onClick="chiudiLaConnessione()">chiudi</button>
</body>
</html>
Breve riferimento
On line sono disponibili diverse guide come ad esempio su MDN o su HTML.it.
Costruire questo oggetto richiede un solo parametro: l'indirizzo del WebSocket sul sever, di seguito riportiamo soltanto le tre funzioni essenziali:
- onopen
- è una funzione che viene chiamata quando si apre la connessione, non ha parametri
- onmessage
- è una funzione che viene chiamata quando arriva il messaggio, quando viene chiamata gli viene passato come parametro un oggetto, il testo del messaggio è nel campo "data"
- close
- da chiamare per terminare la connessione con il server