Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Usuarios conectados en Interbase

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Usuarios conectados en Interbase Responder citando

Como puedo saber los usuarios que estan conectados dentro de una aplicación multiusuario, y desconectarlos mandandoles un mensaje?

De seguro que con los componentes Admin de IBX, pero no se cual ni como.

Necesito saber los usuarios que estan conectados en un momento dado, para poder desconectarlos y poder utilizar la restauracion de la base de datos.

Gracias de antemano a los interesados.

PD:
Aprovecho para mandar un saludo a Cesar, Estaba de Vacaciones.!!!!!!
_________________
Muchos hombres no se equivocan jamás porque no se proponen nada razonable.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Gracias, que bueno que estas de regreso.

Cita:
Como puedo saber los usuarios que estan conectados dentro de una aplicación multiusuario, y desconectarlos mandandoles un mensaje?


Existe un componente para determinar los usuarios conectados en ese momento... creo que es IBDataBaseInfo, estoy fuera de la casa. y para la desconexion puedes usar el IBEvents para enviarle un mensaje al usuario que tu necesitas, ejemplo como los usuarios deben estar registrados como el sysdba-masterkey, debes asignarles un nombre de usuario, es decir declarar a los usuarios, ya que si todos son sydba, puede que tenas 10 usuarios con sysdba, el detalle es encontrar a los usuarios por su ip, puedes usar el compoente IBMonitor y monitorear las conexiones para saber la IP

esa es la manera dificil, la otra usa un programa que este monitoreando la base de datos, cuando se conecte un programa del lado del servidor, anotar el nombre y la IP del usuario, pasado determinado tiempo le envias un mensage al usuario, digamos el nombre de la PC
ejemplo

pepe 192.168.x.x terminal1

se conecta el usuario pepe desde la direccion IP 192.168.x.x y la terminal1

pasados 15 mintuos, puedes enviar un mensaje a la direccion IP que contenga el nombre de la PC, puedes usar un IBEvents

cuando el usuario reciba el mensaje por medio del IBEventas, que verifique si es el nombre de su PC, si es el nombre entonces desconectas la base de datos..

es lo que por el momento se me ocurre... te comento no estoy en la casa, pero mañana te lo paso ya con mas detalles..

saludos estamos en contacto.
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Saludos, la mejor forma de hacerlo es enviar un mensaje al usuario y luego otro a la aplicacion, el primero del tenor "Tienes 5 minutos para terminar tu trabajo" y el segundo ordena a la aplicacion cerrar la conexion a la bd.

La implementacion seria mediante sockets e hilos, debe haber un socket en un hilo "escuchando" en un puerto de tu eleccion presto a responder a las "ordenes", estas pueden ser cadenas de texto "Avisar" y "Cerrar"

He hecho algo asi usando los compos de f Piette, vienen en el 5º cd de la instalacion del Builder6, si no lo tienes los puedes descargar desde su sitio, son de libre uso y distribucion.

El metodo es que la aplicacion que va a restaurar la bd envie los mensajes a la direccion de broadcast de la red, asi no necesitas saber las ips de los clientes ni cuantos estan conectados pues les llegara a todos los que lo esten.

Aqui puedes descargarlos: http://ics.csl.sri.com/download.html
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.