¿Cómo redirigir un cliente después de un evento socket.io?

Estoy creando un sistema de inicio de sesión simple utilizando node.js y su módulo socket.io. Terminé con la parte de autenticación, es decir, utilizando MongoDB, ahora puedo determinar si el usuario que intenta iniciar sesión es genuino o falso. En esta etapa, cuando encuentro un inicio de sesión genuino, necesito redirigir al cliente a una página diferente (index.html). Sin embargo, debido a que no se envía una solicitud y no se espera una respuesta con un evento socket.io, no puedo usar response.setHeader (…); porque no hay un parámetro de ‘respuesta’ en mi función de callback. Aquí está mi código:

En el lado del cliente:

   var socket=io(); $('form').submit(function(){ var un=$('#un').val(); var pw=$('#pw').val(); socket.emit('login',un,pw); return false; });  

y en el extremo del servidor,

 var app=require('express')(); var server=require('http').Server(app); var io=socket(server); io.on('connection',function(client){ client.on('login',function(username,pw){ //if authenticated, direct the client to index.html }); }); 

¿Puede alguien sugerir algún método para hacer esto?

Una forma de lograr esto es emitir un evento de redireccionamiento a su cliente y manejar el redireccionamiento en su extremo.

Lado del servidor:

 var destination = '/index.html'; client.emit('redirect', destination); 

Lado del cliente:

 server.on('redirect', function(destination) { window.location.href = destination; });