Ver Mensaje Individual
  #3  
Antiguo 01-12-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Hay muchas formas de hacer lo que tu quieres. Así que vamos a perfilar un poco las características que deseas que tenga tu aplicación.

Antes de nada tienes que decidir como se realizara la comunicación: UDP, TCP, Tuberías, Códigos de control, etc. Si quieres que tu programa funcione de forma independiente a como tengas montada la red de windows, y no te quieres liar con usuarios, contraseñas y demás, utiliza UDP o TCP.

Ahora tenemos que pensar como lo estructuraremos todo, podemos pensar en varios casos:

Caso 1:
Los equipos a controlar están esperando por las ordenes, y el equipo desde el que controlamos (a partir de ahora lo llamaremos controlador*) manda mensajes con las ordenes y no espera a ver el resultado.

Caso 2:
Igual que el Caso 1 pero los equipos pueden mandar mensajes al controlador para informarle de algún evento.

Caso 3:
Existe una constante comunicación entre los equipos y el controlador, se están enviando continuamente ordenes y recibiendo información de los equipos. En contraposición con los 2 casos anteriores en que los mensajes estaban espaciados en el tiempo.

Caso 4:
La cantidad de datos que se envían entre los equipos es elevada no pequeños mensajes.

* Uso la palabra controlador por no usar servidor o administrador que puede llevar a confusión con otros temas, aunque admito que controlador no me parece el termino mas adecuado ¿se os ocurre alguno mejor?

Pues bien, en los 2 primeros casos yo personalmente elegiría UDP. Este protocolo nos permite mandar mensajes entre dos equipos sin necesidad de establecer una conexión entre ellos, tan solo indicando la ip del receptor. Y una característica muy interesante es que permite enviar mensajes de tipo Broadcast, es decir, un solo mensaje llega a todos los equipos de la red a la vez. La desventaja es que no tenemos forma de saber si un mensaje llego a su destino, la única forma, si fuese imprescindible saberlo, seria que el receptor nos mandara otro mensaje de vuelta con la confirmación.

En los 2 últimos, sin embargo, elegiría TCP, incluso dependiendo de la información a tratar, usaría alguno de los protocolos que funcionan sobre TCP (http, ftp, telnet ...).

¿Cual es tu caso? ¿Se parece a alguno de los que describo? ¿No se parece en nada? ¿No entendí lo que querías? Cuentanos un poco mas lo que quieres hacer.
Responder Con Cita