![]() |
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 |
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. ;) |
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. |
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 12:49:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi