Send event to client, from server, and then disconnect the socket (from server)

407 views Asked by At

I want to send an event back to a client, in Socket.io, and immediately after that to disconnect the client. The problem is that calling socket.emit() will not emit anything... Do you know, or stepped into this kind of problem?

my code is like this: - on server:

userCredentialsCheck: function (socket, next, callback) {
    appLogSys.info('Check cookie!');
    .....
    var handshake = socket.request;
    .....
    parseCookie(handshake, null, function (err, data) {
        sessionSrv.get(handshake, function (err, session) {
            if (err) {
                appLogSys.error(err.message);
                next(new Error(err.message));
            }
            else
            {
                ......
                socket.emit('na', 'Error checking session! Good bye!');
                socket.disconnect();
            }
          })
    })
};

on client:

appSocket.on('na', function(d){
        console.log('Error: '+d);
        console.log('Now, redirect!');
        //REDIRECT!
        var delay = 1000; //Your delay in milliseconds
        var URL   = '/';
        setTimeout(function(){ window.location = URL; }, delay);
    });

Thank you!

0

There are 0 answers