Tema: Desconexion
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/01/2014, 09:46
dunga007
 
Fecha de Ingreso: febrero-2009
Mensajes: 151
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Desconexion

Cita:
Iniciado por utan Ver Mensaje
hola,

El evento "verifico_permisos" debe ser reinitializado cuando tu usuario se desconecta por alguna razón..

En el cliente si el usuario esta en la aplicación y este se desconecta, no manda el socket.emit("verifico_permisos"); de nuevo, lo cual en el server este solo no crea esta nueva conexion en tu users..

Entonces, cuando tu usuario entra a tu aplicación esta manda "verifico_permisos" y puede usar tu aplicación pero cuando por alguna razón su conneccion se desconecta este estando en el browser no hay ningun evento que detecte la desconexion y que mande "verifico_permisos" otra ves..

propongo este ejemplo..

server:

Código Javascript:
Ver original
  1. // server
  2.         io.sockets.on('connection' , function( socket ){
  3.             socket.on('verifico_permisos', function ( data ) {
  4.             // hacemos tu login
  5.             });
  6.         });
cliente
Código Javascript:
Ver original
  1. //cliente
  2.         client.on('connect', function(){
  3.             // mandas tus credenciales al conectarte
  4.            
  5.             client.emit( 'verifico_permisos' , data );
  6.         });
  7.         client.on('disconnect', function(){
  8.             /** ok, el cliente se desconecto, pero como no esta recargando la pagina
  9.              * debemos emitir "verifico_permisos" nuevamente con las credenciale, ya que
  10.              * la pagina del cliente ya esta cargada y ya emitio las credenciales.
  11.              */
  12.              client.emit( 'verifico_permisos' , data );
  13.         });

Otra manera (no mi option) seria que forzarar un refresh a tu pagina cuando tu cliente detecte el evento 'disconnect'...
espero te aya ayudado.
Buenisimo Utan!! ahora pregunta:

¿No seria conveniente utilizar client.on('disconnect' para mostrar alguna adevertencia al usuario solamente... en lugar de hacer client.emit( 'verifico_permisos' porque si el usuario continua deconectado como que no tendria mucho sentido...

Por otro lado yo no tenia:

Código HTML:
client.on('connect', function(){
            // mandas tus credenciales al conectarte
           
            client.emit( 'verifico_permisos' , data );
        });
yo tenia solo:

Código HTML:
client.emit( 'verifico_permisos' , data );
creo que al agregarle el client.on ya reconectaria automaticamente cuando vuelva la conexion sin necesidad de hacerlo desde el disconnect. Decime si esta correcta mi logica... Mil gracias por tu ayuda utan!!!