PDA

Ver la Versión Completa : Mensajes a aplicacion en red


Ezecool
17-09-2003, 19:12:55
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