1 comment

[ 3.2 ms ] story [ 12.8 ms ] thread
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!