 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
JesúsGandia Master


Registrado: 17 Jul 2004Mensajes: 403Ubicación: Gandia, Valencia
|
Publicado: Mie 23 Ago, 2006 11:19 pm Asunto: Usuarios conectados en Interbase |
|
|
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 |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 24 Ago, 2006 6:29 am Asunto: |
|
|
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. _________________
 |
|
| Volver arriba |
|
 |
alfredo Master

Registrado: 13 Oct 2003Mensajes: 246Ubicación: Valencia Venezuela
|
Publicado: Vie 25 Ago, 2006 9:54 pm Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|