top | item 3254199

Socket.io.next: WebSocket.io + Engine.io

4 points| mixu | 14 years ago |qcon-sf.nodejitsu.com | reply

1 comment

order
[+] mixu|14 years ago|reply
So here's what LearnBoost is doing (if I understood this correctly): they're splitting Socket.io into two lower level layers, Websocket.io and Engine.io.

Websocket.io only does websockets transports (... all six of 'em)

Engine.io is a slightly higher level package that adds more transports (polling, flash), and which uses websocket.io.

These two both expose a websockets -like API over the transports they provide.

Socket.io becomes a particular implementation of a Comet stack that depends on these two, with some client extra niceties. This means that the code behind Socket.io can be reused elsewhere on a lower level without resorting to patching a full stack framework like Socket.io. Developers get a greater deal of control and the project is more clearly split into different parts. Awesome!