Websocket

I miei esperimenti mi hanno portato ad una nuova branca dell’informatica: i websocket.
I websocket sono molto potenti e, se avete già programmato con i normali socket, avrete inteso cosa voglia dire avere un socket per il web: addio AJAX-polling!
E’ una tecnologia di tipo PUSH ossia è il server a spingere le nuove informazioni verso il client e non è questo ultimo che se le va a prendere (AJAX è PULL).

Bene, ora che avete fatto conoscenza con i websocket veniamo al dunque di questo articolo: come implementarli?
No, qui non parleremo dell’implementazione: googolando è possibile trovare svariate guide. Il contenuto dell’articolo è comunque inerente a una di queste, in particolar modo alla seguente: http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/
Il suddetto How-To fa riferimento a una semplice libreria (phpwebsocket) per gestire i socket server-side: il problema è che la libreria funziona solo per il protocollo handshake75 mentre le attuali versioni di Chromium (uno dei browser che supporta i websocket) sono basate sul protocollo handshake76.
Una volta scoperto il problema ho navigato sul web e in particolare su StackOverflow, scoprendo un’implementazione del protocollo handshake76 in PHP: http://webreflection.blogspot.com/2010/06/websocket-handshake-76-simplified.html
A quel punto mi son detto: perché non modifico la libreria phpwebsocket con la suddetta implementazione?

Detto fatto!
Di seguito potrete trovare la libreria modificata a dovere: phpwebsocket with handshake76

Buon divertimento ;-)