none
Usar tecnología WCF o Sockets en programa WPF para su comunicación RRS feed

  • Pregunta

  • Estoy desarrollando una aplicación en WPF, la cual se tiene que comunicarse con otra maquina la cual tenga la misma aplicación, y necesito la comunicación entre ambos, para enviar señales para trabajar con las funciones remotamente, que tecnología es mejor usar para esta tarea.

    Encontré que se puede hacer con sockets y el protocolo TCP/IP; y con WCF también con protocolo TCP/IP pero no se cual de los dos sea mejor utilizar en mi situación.

    jueves, 15 de agosto de 2019 18:10

Respuestas

  • hola

    Solo seran dos extremos comunicandose ? o pude haber mas de dos

    Podrias evaluar una aquitectura P2P (Peer-to-Peer)

    Conexión de redes punto a punto

    Igualmente si la comunicacion no es necesario que sea en real time, siempre puedes usar una Base de Datos como intermediaria para perssitir los datos que deje una de las apps y lea la otra

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 15 de agosto de 2019 19:04

Todas las respuestas

  • hola

    Solo seran dos extremos comunicandose ? o pude haber mas de dos

    Podrias evaluar una aquitectura P2P (Peer-to-Peer)

    Conexión de redes punto a punto

    Igualmente si la comunicacion no es necesario que sea en real time, siempre puedes usar una Base de Datos como intermediaria para perssitir los datos que deje una de las apps y lea la otra

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 15 de agosto de 2019 19:04
  • Encontré que se puede hacer con sockets y el protocolo TCP/IP; y con WCF también

    En última instancia, WCF utiliza internamente sockets y TCP/IP (bueno, es lo más usual, pero también tiene otras opciones). La ventaja de usar WCF es que es una abstracción de más alto nivel, permitiéndote ejecutar desde una máquina distintas funciones sobre la otra pasándoles parámetros. Si utilizases los sockets a bajo nivel, tendrías que codificar tú toda la funcionalidad para encapsular los parámetros y ejecutar las funciones pertinentes, mientras que WCF ya te da hecha toda esa capa por encima de los sockets.
    jueves, 15 de agosto de 2019 20:46
    Moderador
  • Serán mas de dos computadoras, ademas de que tiene que ser en tiempo real, incluso si trabajaran con la misma base de datos, la cuestión es que la "matriz" es la única que tendrá acceso a Internet, y con base a los comandos o señales que le den las maquinas conectadas tiene que hacer ciertas acciones como actualizar la misma base de datos.

    ¿P2P se puede hacer con varias maquinas en diferentes threads o subprocesos?


    lunes, 19 de agosto de 2019 14:31
  • hola

    >>¿P2P se puede hacer con varias maquinas en diferentes threads o subprocesos?

    con diferentes maquinas, claro

    lo de thread no veo que tenga que ver, lo que haces es comunicar los procesos es algo local que se este ejecutando, no le veo relacion

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 19 de agosto de 2019 15:01
  • ¿P2P se puede hacer con varias maquinas en diferentes threads o subprocesos?

    Si con WCF utilizas la clase ServiceHost para atender las llamadas, entonces los diferentes Threads son automáticos. Cada vez que un cliente se conecta, internamente el ServiceHost desencadena un nuevo Thread para atenderlo. Según cómo configures la clase del servicio (usando atributos) puedes gestionar si quieres que cada hilo actúe sobre una instancia distinta o todos sobre la misma o una por cada cliente. Y también puedes controlar si quieres bloqueos automáticos para evitar problemas de concurrencia o si quieres que todas accedan libremente sin bloqueos.

    Si en lugar de usar un ServiceHost dentro de tu aplicación WPF prefieres publicar el servicio WCF sobre IIS, entonces los múltiples hilos los gestiona el propio IIS.

    lunes, 19 de agosto de 2019 18:04
    Moderador