access socket.io object in other js in nodejs

what i want to try out is, access socket object on http request to emit the data to a specific user, right now my code works fine for access socket object of socket.js file, but i want to emit data to user via socket on thhp request form my controller, how to do that below is my current code.

mainSocket.js 
    var people = {};
    var onlineUsers = {};
    var usernames={};
    var onlineRoomUsers = [];


    module.exports = function(app,io,sessionStore,cookieParser){
          console.log("inside socket :");

          io.set('authorization', function (data, callback) 
        {
              console.log("inside socket authorization");
              if(!data.headers.cookie) {
                    return callback('No cookie transmitted.', false);
                }

                // We use the Express cookieParser created before to parse the cookie
                // Express cookieParser(req, res, next) is used initialy to parse data in "req.headers.cookie".
                // Here our cookies are stored in "data.headers.cookie", so we just pass "data" to the first argument of function
                cookieParser(data, {}, function(parseErr) {
                    if(parseErr) { return callback('Error parsing cookies.', false); }

                    // Get the SID cookie
                    var sidCookie = (data.secureCookies && data.secureCookies['myuser.sid']) ||
                                    (data.signedCookies && data.signedCookies['myuser.sid']) ||
                                    (data.cookies && data.cookies['myuser.sid']);

                    console.log("sidCookie "+sidCookie);

                    // Then we just need to load the session from the Express Session Store
                    sessionStore.load(sidCookie, function(err, session) {
                        console.log("inside sessionStore.load  ");
                        console.log("session  "+ JSON.stringify(session));
                        // And last, we check if the used has a valid session and if he is logged in
                       // if (err || !session || !session.isLogged !== true) {
                        if (err || !session || !session.passport.user) {
                            console.log("error");
                            callback('Not logged in.', false);
                        } else {
                            // If you want, you can attach the session to the handshake data, so you can use it again later
                            // You can access it later with "socket.handshake.session"
                            console.log("session exists")
                            console.log("session.passport.user "+session.passport.user.userId);

                            data.session = session;
                            socketSession=session;
                            callback(null, true);
                        }
                    });
                });
            }); 

          // socket connection handler
            io.sockets.on('connection', function(socket){
                console.log("socket connection");
                var myFriendsId = [];

                var currentUserBlockedBy=[];
                /*
                 * myFriendsDetail is used to get user friend detail, so that no need to 
                 * get friends data from data base again & again, when needed,
                 * each user has itz own friend list detail
                 * */
                var myFriendsDetail = {};

                console.log("inside socket connection:");

                socket.on('user:join', function(userid){
                    socket.userid=socketUserId;

                    onlineUsers[socketUserId] = socket.id;
                    console.log("online user "+ JSON.stringify(onlineUsers));

                });
                // when the user disconnects.. perform this
                socket.on('disconnect', function(){
                    console.log("inside socket disconnect");

                    // remove the username from global usernames list
                    delete usernames[socket.username];
                    delete onlineUsers[socket.userid];
                     console.log("online user "+ JSON.stringify(onlineUsers));  
                     //notify to all friends that u r going offline
                     for ( var record = 0; record < myFriendsId.length; record++) 
                    {
                        console.log("contactval  offline : " + myFriendsId[record]);
                        var frid=myFriendsId[record];

                    socketEmitter.fnUserInActive(socket.userid,frid);

                    }

                });

                var socketEmitter =
                {
                        fnUserActive:function(userid,frid)
                        {
                            socket.broadcast.to(onlineUsers[frid]).emit('user:active',userid);
                        },


                }

            });  //end of socket connection method 

        } // end of export module

app.js
// server.js

// set up ======================================================================

var express = require('express'), 
app = express(),
http = require('http'),
path = require('path'),
session = require('express-session'),
cookieParser = require('cookie-parser'),
morgan = require('morgan');
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
errorhandler = require('errorhandler'),
server = http.createServer(app),
sessionStore = new session.MemoryStore(),
passport = require('passport'), flash = require('connect-flash'),
useragent = require('express-useragent'),
cookieParser = cookieParser('vidyapathaisalwaysrunning'),
io = require('socket.io').listen(server);

require('./config/passport')(passport); // pass passport for configuration

// app.use(logger());
app.use(express.static(path.join(__dirname, 'public')));
app.use(morgan('dev')); // log every request to the console
app.use(bodyParser()); // pull information from html in POST
app.use(methodOverride()); // simulate DELETE and PUT
app.use(cookieParser);
app.use(useragent.express());
app.set('view engine', 'ejs');
// required for passport
app.use(session({
    store : sessionStore,
    key : 'myuser.sid',
    cookie : {
        secure : false,
        maxAge : 604800000
    }
}));
app.use(passport.initialize());
app.use(passport.session()); // persistent login sessions
app.use(flash()); // use connect-flash for flash messages stored in

app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.set('Access-Control-Allow-Methods', 'GET, POST');
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    next();
});

/*
 * if (process.env.NODE_ENV === 'development') { app.use(errorhandler()) }
 */
var env = process.env.NODE_ENV || 'development';
console.log("env " + env);

if ('development' == env) {
    // configure stuff here
    app.use(errorhandler());
}



require('./app/socket/mainSocket.js')(app, io, sessionStore, cookieParser);
// routes
// ======================================================================
require('./app/controller.js')(app, passport); // load our routes and pass

// launch
// ======================================================================

server.listen(8080);


controller.js

app.get('/uploadprogress', function(req,res){

  socket.emit('message','msg to emit when user visit this link');

});

what i want to get is that, 1> to emit data on http req 2> access socketEmitter method of mainsocket.js

how to get this done i stuck with this part , any help will be appreciated, any suggesstion on this