Too bad the demo doesn't work, I was really excited for this. Regardless, big congratulations to the Socket.IO team for an awesome feature! And props to Feross for his simple-peer module, he is doing incredible work in the WebRTC world.<p>In other news, to address some of the comments here:<p>- As others have mentioned, <a href="https://github.com/sockjs" rel="nofollow">https://github.com/sockjs</a> is an alternative that is more lean with less features.<p>- I've also written an inverse websocket tool that behaves like a regular HTTP request/response, but will proxy it through WebSockets or fallback to JSONP. I really like this approach because it feels more RESTful, has less overhead, and even allows the browser to do a `createServer`. It is currently pretty tightly coupled into a project of mine (next bullet), I'll try pulling it out into its own library if there is demand, but here is the source:<p>- - Client library, <a href="https://github.com/amark/gun/blob/master/gun.js#L1138" rel="nofollow">https://github.com/amark/gun/blob/master/gun.js#L1138</a> and onwards.<p>- - Server library, <a href="https://github.com/amark/gun/blob/master/lib/wsp.js#L8" rel="nofollow">https://github.com/amark/gun/blob/master/lib/wsp.js#L8</a> and onwards.<p>- - Really nifty HTTP normalizer, <a href="https://github.com/amark/gun/blob/master/lib/http.js" rel="nofollow">https://github.com/amark/gun/blob/master/lib/http.js</a> .<p>- - Really nifty WebSocket normalizer, same format, <a href="https://github.com/amark/gun/blob/master/lib/ws.js" rel="nofollow">https://github.com/amark/gun/blob/master/lib/ws.js</a> .<p>- - Really nifty JSONP normalizer, same format, <a href="https://github.com/amark/gun/blob/master/lib/jsonp.js" rel="nofollow">https://github.com/amark/gun/blob/master/lib/jsonp.js</a> .<p>- If you do use the P2P Socket.IO feature, the next thing you'll need is a P2P database that can run in the browser! And that is what my main open source project, <a href="http://gunDB.io/" rel="nofollow">http://gunDB.io/</a> is about. The previous bullet's code is my nimble websocket and fallback library I wrote for this project, and that is why they are currently tightly coupled - sorry about that. If there is enough demand for it by itself then I'll try making it into its own library.<p>Cheers!