none
hacer que dos software clones se conecten por lan RRS feed

  • Pregunta

  • Hola sres.

    tengo q hacer un simple programa q tenga 100 interruptores .. Obviamente con dos estados, on y off nada mas que eso

    Hasta aqui esta simple.

    la parte engorrosa es que una copia del programa se encuentra en la estacion que usa la ip 192.168.1.11

    Y la otra en 192.168.1.12.  Todos los registros que se hagan en 1.11 deben quedar replicados en 1.12 pero solo los registros, pq el usuario de 1.12 debera poder manipular libremente el programa.

    Es como si el programa usase variables compartidad por la red

    Este es un ejemplo simple:

    Aplicación de estación 1 en pc con ip 192.168.1.11

    -------------------------------
    | switch 1 = ON.               |
    | switch 2 = OFF.              |
    | switch 3 = ON.               |
    -------------------------------



    Aplicación de estación 2 en pc con ip 192.168.1.12

    -------------------------------
    | switch 1 = ON.               |
    | switch 2 = OFF.              |
    | switch 3 = ON.               |
    -------------------------------

    Ambas aplicaciones son iguales, son clones corriendo en dos estaciones distintas, sin embargo, cuando la estación 1 cambia Switch 2 = ON, automáticamente la estación 2 cambiará el Switch 2 a ON también.

    Gráficamente sería algo así:

    Estación 1 switch2 modifica variable compartida  ---> bool switch2 = false <---- Estación 2 copia valor switch2

    Lo único que se me ocurre es guardar un archivo en un servidor local que tenga el mismo nombre de la variable (en este caso switch2.txt) y guardar en ese archivo el valor (false o true) y con un Timer cada segundo ir leyendo lo que está escrito en ese archivo compartido y aplicarlo a la estacion2....

    Yo he trabajado con RPC en un motor de juegos llamado Unity, pero no se si en Visual Studio tengo la misma opción.

    Habrá otra solución mas ortodoxa?

    Gracias..


    • Editado digimikeh miércoles, 13 de diciembre de 2017 2:02
    martes, 12 de diciembre de 2017 19:59

Respuestas

  • hola

    se me ocurren varias alternativas teniendo en cuenta que ambas aplicaciones estan en la misma red

    - podrias usar socket, para enviar por la red los datos de una aplicacion a la otra

    - podrias usar una db intermedia, para registrar el cambio de una aplicacion, aunque esto quizas no sea tanto real time

    - podrias evaliar SignalR, de esta forma envias evento directo de una aplicacion a la otra, esto por supuesto requiere .net 4 o superior

    Using SignalR in WinForms and WPF

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta digimikeh miércoles, 13 de diciembre de 2017 2:47
    miércoles, 13 de diciembre de 2017 2:29

Todas las respuestas

  • Hola digimikeh

    Con base a tu consulta, vamos a poner los siguientes puntos:

    1. En estos foros no se realizan trabajos académicos, para que los colaboradores del foro puedan trabajar en una solución a tu consulta, es necesario que subas un avance (forms, código).
    2. Te recomiendo investigar a fondo el tema que quieres programar, para ello recomiendo libros sobre programación, electrónica, redes, etc.
    3. Hay múltiples maneras para realizar el programa que mencionas en tu consulta.

    Quedamos el pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    martes, 12 de diciembre de 2017 21:59
    Moderador
  • Hola Pablo, no comprendí tu respuesta... 

    No soy académico sino autodidacta, no es para una tarea ni nada por el estilo, solo he querido ideas, no soluciones directas sobre el problema, como la mayoría de las cosas que se plantean en el foro, quizá no fui suficientemente directo con mi pregunta..  Subiré algunos ejemplos de lo que tengo..

    Gracias de todas formas por la aclaración. :)

    Saludos.


    • Editado digimikeh miércoles, 13 de diciembre de 2017 0:15
    miércoles, 13 de diciembre de 2017 0:14
  • He editado la pregunta, saludos.
    miércoles, 13 de diciembre de 2017 2:01
  • hola

    se me ocurren varias alternativas teniendo en cuenta que ambas aplicaciones estan en la misma red

    - podrias usar socket, para enviar por la red los datos de una aplicacion a la otra

    - podrias usar una db intermedia, para registrar el cambio de una aplicacion, aunque esto quizas no sea tanto real time

    - podrias evaliar SignalR, de esta forma envias evento directo de una aplicacion a la otra, esto por supuesto requiere .net 4 o superior

    Using SignalR in WinForms and WPF

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta digimikeh miércoles, 13 de diciembre de 2017 2:47
    miércoles, 13 de diciembre de 2017 2:29
  • Probare con Socket y con SignalR,

    muchas gracias Leandro..

    miércoles, 13 de diciembre de 2017 2:47