Barra laterale

programmazione:websocket:introduzione

Introduzione ai Websocket

Autore: Fabio Di Matteo
Ultima revisione: 19/05/2014 - 18:49

Attraverso i Websocket è possibile realizzare connessioni TCP tradizionali da pagine web verso server TCP . Il server e il client prima di stabilire la connessione realizzano un handshake http e dopo scambiano i dati in un connessione di tipo websocket(ws). Sul link in wikipedia è possibile vedere il tipo di handshake che viene effettuato.
Nell'esempio che segue ci collegheremo ad un echoserver (echo.websocket.org) che non fara' altro che rimandare al client il testo appena inviato.

Ecco una demo:

Client

Nell'esempio che segue si utilizzera' inoltre il framework jquery.

client.html

<html>
	<head><title>Websocket</title>
	<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
	<script>
			var echo_service = new WebSocket('ws://echo.websocket.org');
 
			echo_service.onmessage = function(event){ //Quando il server invia un messaggio
				$("#lavagna").append("<p>"+event.data+"</p>");
			}
 
			echo_service.onopen = function(){ //Quando la connessione viene aperta
				$("#lavagna").append("<p>Connesso.</p>");
			}
			echo_service.onerror = function(event){ //Quando si verifica un errore
				$("#lavagna").append("<p>Si e' verificato il seguente errore:"+event.data+"</p>");
			}
 
 
 
			$( document ).ready(function() { //Non appena tutta la pagina è caricata
				$("#mybutton").click(function() { //Al click del pulsante
					echo_service.send($("#myinput").val()); //Invio il contenuto di myinput al server
				});			
			});
 
	</script>
	</head>
 
	<body>
	<h3>Si connette ad un echo server e invia del testo al click del pulsante</h3>	
	<input type="text" id="myinput" /><button id="mybutton"> invia al server</button>	
	<div id="lavagna"></div>
 
</body>
</html>

programmazione/websocket/introduzione.txt · Ultima modifica: 18/04/2018 - 15:48 (modifica esterna)