Socket.IO not using fallback methods

I have a node server that's running a socket.io server and a client to work with it. Simple story, I need to be able to transfer messages between the two. This is working as intended in browsers that support web sockets but when a fallback method needs to be used its not working. I should mention that pages are served from an apache server and the node server is only used for a specific page. The code that I am using is below, I've tinkered on this for a while and can't figure out how to fix it.

Also worth mentioning that when the page is opened in IE9(websockets not supported), logging connection.io.engine.transport.name would give "websocket".

Client:

            connection = io(window.location.protocol + '//localhost:8888', {
                'reconnect': false,
                'max reconnection attempts': 0,
                'transports': 
                            [
                             'websocket',
                             'flashsocket',
                             'htmlfile',
                             'xhr-polling',
                             'jsonp-polling'
                            ]
            });

            connection.on('connect',function () {
                    console.log("Socket is open");
                    $('#dc-status').hide();
                    connection.emit('message',JSON.stringify(info));

                    connection.on('message',function (e) {
                        //DO SOMETHING WITH THE DATA RECIEVED
                    });
            });

Server: var ioserver = require('socket.io');

var io = ioserver.listen(8888);

var http = require("http");


console.log("server started...");


io.set('transports',[
                    'websocket',
                    'flashsocket',
                    'htmlfile',
                    'xhr-polling',
                    'jsonp-polling'
                    ]);

io.sockets.on('connection', function(ws) {

    var req;
    var order;
    var courier;
    var after;
    var session;
    var options = {};
    console.log("New client connected");


    // console.log("Transport: " + io.transports[ws.id].name);

    ws.on('message', function(data) {

        //WORK WITH THE DATA RECEIVED
        //NOT RELEVANT TO EXAMPLE
        console.log('received: %s', data);

        parsedData = JSON.parse(data);


    });

   ws.on('disconnect', function () {
        console.log("Connection closed");
    });

});

Ok, so after much struggle with this I have found a solution for making sockets work in old browsers.

As of version 1.0 Socket.io uses Engine.io instead of fallback methods, which takes care of transports. To get a working solution I skipped using the Socket.io layer and used just Engine.io instead. In the client you have something like

var connection = eio.Socket('host-address');

and then you just bind the regular events(e.g message, close).

And in the server part instead of require('Socket.IO'), you call require('Engine.IO'), example:

var engineio = require('engine.io');
var wss = engineio.listen(10101);

The binding is the same.