socket.emit inside a function

I'm looking to send data to my node via a query string, and then have it parse the query and act accordingly.

var app = require('http').createServer(handler),
io = require('socket.io').listen(app),
url = require('url');

app.listen( 61337 );

function handler( request, response ) {
  var requestURL = url.parse(request.url, true);

  if( requestURL.query.message ) {
        var data = JSON.parse( decodeURI( requestURL.query.message ) );
        pushMe( data );
    }

  /** ... */
}

function pushMe( data ) {
    io.sockets.socket( data.socketid ).emit( data.action, data.value );
}

io.sockets.on('connection', function( socket ) {
  socket.on('join', function( data ) {
    /** ... */
  });

  socket.on('disconnect', function() {
    /** ... */
  });
});

How ever my pushMe function returns an error: TypeError: Object has no method 'emit'

How can I emit data from my function?

I needed to save the entire socket to an array, and then access it that way...

var app = require('http').createServer(handler),
io = require('socket.io').listen(app),
url = require('url');

app.listen( 61337 );

var registeredSockets = [];

function handler( request, response ) {
  var requestURL = url.parse(request.url, true);

  if( requestURL.query.message ) {
        var data = JSON.parse( decodeURI( requestURL.query.message ) );
        pushMe( data );
    }

  /** ... */
}

function pushMe( data ) {
    registeredSockets[data.socketid].emit( data.action, data.value );
}

io.sockets.on('connection', function( socket ) {
  socket.on('join', function( data ) {
    registeredSockets[socket.id] = socket;
    /** ... */
  });

  socket.on('disconnect', function() {
    /** ... */
  });
});