Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mensajes a aplicacion en red (https://www.clubdelphi.com/foros/showthread.php?t=3714)

Ezecool 17-09-2003 19:12:55

Mensajes a aplicacion en red
 
Hola amigos.
Resulta que tengo una aplicacion servidor y una cliente que corre en esta ultima en varias maquinas. En derterminado momento necesitaria enviar un mensaje o comando a ejecutarse en una determinada maquina y no en todos los puestos de la red. He probado hacerlo con sockets pero asi todos los clientes reciben el mensaje. Lo he modificado asignando un puerto diferente para cada maquina y creando tantos serversockets como clientes tenga pero tengo el problema que la cantidad de objetos servidores de sock seria variable y al cambiar el numero de clientes deberia modificar el codigo y recompilarlo cada vez. Si alguien conoce una tecnica que logre el resultado que busco estare muy agradecido de qeu me la comente. Chau

jachguate 17-09-2003 19:20:14

No se como le haces para que el mensaje lo reciban todas las máquinas... porque hasta donde yo entiendo la comunicación por sockets es 1 a 1, pero en fin...

Si es asi, podes incluir como parte del mensaje algun identificador de que maquina es la que debe ejecutar el "comando"... esta lo ejecutará y el resto simplemente deberan ignorar el mensaje.

Hasta luego.

;)

SCH 17-09-2003 20:01:26

Realmente no tengo mucha idea de aplicaciones en red pero hice un minichat que funcionaba con sockets, cuando el servidor recibía un mensaje lo reenviaba a todos menos a la máquina de la que provenía el mensaje, utilicé esto y funcionó:

for i := 0 to Socket_Server.Socket.ActiveConnections - 1 do
if (Socket_Server.Socket.Connections[i].SocketHandle <> IDSender) then
Socket_Server.Socket.Connections[i].SendText(mensaje);

Vamos, que creo que SocketHandle te identifica la conexión, bueno al menos yo lo usé para eso y funcionaba aunque tampoco probé mucho jaja. Supongo que también podrías usar el número de conexión si sabes en que orden han conectado pero bueno, prueba, o casi mejor espera a que te responda alguien que sepa de verdad jeje.

Ezecool 17-09-2003 21:24:54

Gracias muchachos por responder, algo de lo que me dijeron me sirve y empezare a probar hasta que lo saque. Chau


La franja horaria es GMT +2. Ahora son las 11:14:52.

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