Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Chat interno (https://www.clubdelphi.com/foros/showthread.php?t=70694)

rruffino 05-11-2010 12:53:44

Chat interno
 
Hola gente, buen dia.
Les comento, estoy haciendo una aplicacion tipo chat que luego voy a integrar al sistema corporativo que tengo. La idea es la siguiente, para el chat tengo una tabla de usuarios, en donde estan cargados todos los usuarios del sistema corporativo. Al ingresar al chat, el sistema verifica que usuario esta activo y cual no. Esto anda bien, pero el tema es que no se como hacer para que me refresque la lista de usuarios activos/inactivos, es decir, por ejemplo si yo entro al chat en un momento determinado y hay dos usuarios activos, si luego de que entré algun otro usuario se conecta o desconecta no se como hacer para que mi instancia identifique esos cambios. Lo habia pensado con un Timer, pero requiere que recorra toda la tabla de usuarios cada cierto tiempo con lo que pierdo lo de instantáneo. No se si me explico bien.
Desde ya muchas gracias...:rolleyes:

noshy 05-11-2010 14:26:34

Yo haria lo siguiente, en la tabla de usuarios activos le agregaria un campo IP, y al conectarse mandaria un codico por shoket a todas las ip's activas de que me acabo de loguear en el chat...

rruffino 05-11-2010 17:17:30

Gracias por la respuesta
 
Hola Noshy, gracias por la respuesta. Te comento, tengo el campo ip en la tabla, o sea que podria hacerlo como dices. El tema es como le envio esa informacion o codigo para que lo vean las otras instancias del programa que estan corriendo? Yo me estoy basando en el ejemplo NetChat que viene con delphi.
Nuevamente gracias y saludos..;)

Enan0 06-11-2010 08:57:24

Hola Ruffino, como te Dijo noshy,

Lo mejor seria (para mi idea) tener un pequeño servidor de Socket Donde Cada usuario se conecte al hacer el login, (haga su authenticacion o lo que sea) y ahi tomaria si esta conectado o no, de esa manera tenes la IP, de cada cliente.

entonces en caso de que una Conexion se cierre, Ese cliente se ha desconectado.

El servidor le envia el estado a todos los Clientes Activos.

y lo mismo para nuevas conexiones.
Esto para un Chat al Estilo Messenger (con esa idea).

Si un estilo IRC. Esto cambiaria un poco.

Saludos

rruffino 08-11-2010 13:02:20

Servidor de socket
 
Hola enano, gracias por tu respuesta.
El tema es el siguiente, tengo en una tabla el usuario y contraseña y al momento de ingresar al sistema cargo la ip (esto es por si el tipo tiene dhcp en su pc). Hasta ahi esta todo claro, el tema que no entiendo bien es como hacer ese servidor de sockets, es decir, de que manera algo o alguien le avise a las distintas instancias del programa que alguien se conecto o desconecto. Me gusta la idea que sea tipo msn.
Nuevamente agradezco la respuesta.
Saludos!!!:D


La franja horaria es GMT +2. Ahora son las 10:56:37.

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