As indicated here on Github, socket.io-client is mutiplexing Managers. If you want to force new connections every time you fire io.connect(), you should pass in {forceNew: true} as one of the options.

Update: BTW, I recommend using Primus.io, "the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in." It manages real-time libraries (including socket.io) for you so you don't need to.