Tengo un juego en línea hecho en c++, en el cual los usuarios se conectan y pueden jugar entre si.
El problema que tengo es que si un usuario cierra de ventana bruscamente, o se le cae el internet, sigue figurando en la base de datos como un usuario activo.
Lo que había pensado para resolver este inconveniente fue crear un procedimiento de mysql, con variables de usuario, cosa de que cuando se le cierre la conexión con mysql, éste cambie el atributo 'activo' de 1 a 0.
La forma seria, un usuario se loggea, y llama al procedimiento dandole su idusuario, y este procedimiento trabaja con un sleep, fijandose cada tanto que la variable de usuario exista, y no existe(quiere decir que se cerro la conexión) y por lo tanto da de baja al usuario.
Ahora, tengo entendido que cuando se cierra la conexión estas variables mueren, pero el procedimiento, permanece activo ? o también se cierra junto con la variable ?
Acá tengo un ejemplo de lo que quiero hacer
Código MySQL:
Ver original
DELIMITER $$ END $$ DELIMITER ;