Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Trabajo con sockets (https://www.clubdelphi.com/foros/showthread.php?t=2455)

Azor69 24-07-2003 11:37:33

Trabajo con sockets
 
Trabajo con sockets.

Hola a todos.
Estoy realizando un aplicación mediante sockets, una especie
de messenger, entre ordenadores de red.

He visto algun ejemplo de aplicación cliente - servidor, basado
en sockets en los ejemplos delphi.

Tal y como està montado el ejemplo, el cliente siempre se conecta
al servidor. Después de este paso los dos ya se pueden enviar
mesages. El servidor siempre permanece a la escucha y solo puede
enviar texto al cliente si este se ha connectado antes.

Que pasa sí el servidor quiere enviar mensages al cliente, y este
no se ha connectado.
Como puedo montar el sistema. ¿Quizás en cada aplicación montar
un cliente y un servidor para que se puedan enviar mensages
reciprocamente?

Ahora solo tengo un TSocketServer, en la aplicación Servidora y un
TCLientSocket en la que hace de cliente.

Os agradeceria vuestra ayuda.
Agradeceria también, sí alguien sabe donde conseguir información
en castellano dobre Sockets.

Saludos y gracias.

__hector 24-07-2003 15:13:45

1. No podras enviar mensajes del servidor al cliente, ya que el ServerSocket crea un arreglo con los clientes conectados (en la propiedad Connections creo, la memoria me falla), y si intentas acceder a una conexion (por su indice) no creada, lanzara una excepcion.

2. En el caso que planteas, podrias tener un tercer computador con el serversocket, al cual se conecten todos los ClientSockets, e idearte un protocolo de comunicacion con el servidor, de tal forma que el mismo pueda identificar de quien va el mensaje y hacia quien, ademas de mantener una lista de conexiones activas.

Para esto, cada vez que se conecta/desconecta un cliente, puedes ir alimentando alguna tabla en memoria o archivo con las conexiones, el numero de la conexion, ip, persona que se conecta y cualquier otra info que creas pertinente.

Claro, que si la comunicacion es solo entre dos computadores, puedes incluir un client y serversocket en cada extremo, y ya.

Azor69 25-07-2003 17:13:20

Hola Hector.

No habia pensado en la posibilidad que me comentas la probaré a ver sí puedo solucionar el tema.

Gracias por la ayuda.
Saludos.


La franja horaria es GMT +2. Ahora son las 04:44:06.

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