¿Cómo se comunicará la misma aplicación C # instalada en múltiples dispositivos que están conectados en la misma red WiFi?

Realmente depende de qué tan grandes deben ser sus datos de “sincronización”, con qué frecuencia deben actualizarse.

Si los datos son muy grandes y solo necesitan actualizarse de manera muy irregular, su respuesta podría ser tan simple como una base de datos o incluso un archivo en un recurso compartido de red.

Sin embargo, si necesita una transmisión instantánea de datos a todas las aplicaciones, debería considerar el uso de transmisiones UDP …

Su cliente se vería así …

Receptor de clase pública {
UdpClient de lectura privada udp = new UdpClient (15000);
StartListening privado vacío () {
this.udp.BeginReceive (Recibir, nuevo objeto ());
}
Recepción privada vacía (IAsyncResult ar) {
IPEndPoint ip = nuevo IPEndPoint (IPAddress.Any, 15000);
byte [] bytes = udp.EndReceive (ar, ref ip);
mensaje de cadena = Codificación.ASCII.GetString (bytes);
Empieza a escuchar();
}
}

Y tú remitente así:

remitente de clase pública {
Public Void Send () {
Cliente UdpClient = nuevo UdpClient ();
IPEndPoint ip = nuevo IPEndPoint (IPAddress.Broadcast, 15000);
byte [] bytes = Codificación.ASCII.GetBytes (“Foo”);
client.Send (bytes, bytes, longitud, ip);
cliente.Close ();
}
}

Un enfoque sería usar enchufes . En resumen, piense en los sockets como escribir una carta, ponerla en el buzón y luego recibir una respuesta, pero en lugar de una carta, tiene lo que llamamos un paquete y, en lugar de un buzón, lo está entregando a un servidor

Cuando se trata de programar esto, debe tener uno de sus dispositivos que actúe como un servidor , al que se conectarán todos sus otros dispositivos. Le enviarán sus paquetes y el servidor los redistribuirá posteriormente.

Te he vinculado un artículo a continuación para que comiences:

Aplicación básica de chat de cliente / servidor en C # – Tutoriales de C #