WebSocket

embOS/IP Websocket protocol è un protocollo di trasporto basato su TCP/IP che semplifica la comunicazione attraverso i firewall. E’ semplice da utilizzare, leggero e aperto.
Le sue caratteristiche lo rendono ideale per l’uso in molte situazioni, per esempio in applicazioni M2M (Machine to Machine) oppure in contesti IoT (Internet of Things)

Requisiti

Websocket è basato sullo stack TCP/IP embOS/IP ed è per esso ottimizzato; tuttavia, può virtualmente essere utilizzato con qualsiasi stack TCP/IP dotato di interfaccia Socket. Il pacchetto include un simulatore Win32 che utilizza le API dei winsocket standard come pure l’implementazione che adotta le API di embOS/IP.

Scenario

Il protocollo Websocket è un protocollo IoT che consente di rendere una normale connessione sincrona via HTTP in un tunnel bidirezionale asincrono. Consente di realizzare una connessione HTTP con un webserver e di controllare se ambo i lati (Client e Server) supportino il protocollo Websocket in base alla risposta inviata dal webserver.
Il test non intrusivo per verificare se il protocollo websocket sia supportato è compatibile con lo standard HTTP/1.1 e ritorna una pagina con un codice di errore nel caso in cui il protocollo non sia supportato dal webserver.
Il webserver rimane pienamente operativo come server ordinario di pagine HTTP facendo coesistere questa modalità con il protocollo websocket.

Il vantaggio di websocket è che esso utilizza il protocollo TCP/IP per i dati, impiegando HTTP/1.1 solo per stabilire la connessione websocket iniziale.
Questo consente di “passare” i firewall perchè la porta 80 in uscita è normalmente aperta, consentendo la comunicazione dei client websocket senza problemi.
Per un server che supporta le pagine web e websocket una sola porta deve essere aperta sul firewall oppure “nattata” dal router su internet verso la Vostra rete locale.