Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Usuarios en linea (https://www.clubdelphi.com/foros/showthread.php?t=86508)

ASUNCION 22-08-2014 21:11:19

Usuarios en linea
 
Saludos muchachos,

Tengo una aplicacion hecha en delphi 7 y SQl server, a este aplicacion le acabo de agregar un modulo para poder ver los usuarios que estan usando el sistema (que tienen una seccion abierta). Lo que hago es que marcar atraves de un campo boleano los usuario cuando se logean y cuando cierran la seccion le quito esta marca. Hasta ahí todo perfecto el problema esta cuando se cierra la aplicacion de manera inesperada (se apaga la pc por una apagón o apagan la computadora con el sistema arriba, etc., encualquiera de los casos el usuario se queda marcado como si estubiera usando el sistema).

Si alguien tiene alguna idea de como resover esto favor ayudarme...

Gracias

mamcx 22-08-2014 21:31:01

Como lo tienes hecho no te va a funcionar, porque necesitas es chequear si hay o no una conexion activa, y reaccionar ante sus estado. Y eso no se puede hacer desde el cliente, por lo que te has dado cuenta.

Si tienes una arquitectura multicapa, en el servidor de app haces esto. Si la app es 2 niveles, entonces se puede hacer directo contra Sql Server:

http://stackoverflow.com/questions/1...er-connections

roman 22-08-2014 22:13:57

Yo lo que he hecho es agregar un campo UltimoAcceso de tipo TIMESTAMP o similar a la tabla de usuarios. El cliente actualiza cada x tiempo este campo con la fecha-hora actual, por ejemplo, cada 30 segundos. Cualquier sesión correspondiente a un usuario con UltimoAcceso mayor a 30 segundos es una sesión muerta y tu módulo de usuarios la puede borrar (quitar la marca) automáticamente.

// Saludos


La franja horaria es GMT +2. Ahora son las 02:47:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi