diff --git a/EstablecerIP/Program.cs b/EstablecerIP/Program.cs index e9edc0e..b794445 100644 --- a/EstablecerIP/Program.cs +++ b/EstablecerIP/Program.cs @@ -99,18 +99,44 @@ class Program try { // --- FASE 1: ENVÍO DE LA CONFIGURACIÓN --- + bool macEncontrada = false; + string macDetectadaEnRed = ""; + using (EthSystemDiscoverer discoverer = new EthSystemDiscoverer()) { discoverer.SystemDiscovered += (systemInfo) => { string macTraducida = ConvertirMacSdk(systemInfo.MacAddress.ToString()); Console.WriteLine($"[RADAR SDK] Detectó Lector -> IP: {systemInfo.IPAddress} | MAC Real: {macTraducida}"); + + // Validación: comparar MAC del archivo con la MAC detectada + if (macTraducida == macLimpia) + { + macEncontrada = true; + macDetectadaEnRed = macTraducida; + } }; Console.WriteLine("Despertando la red (3 segundos)..."); discoverer.Discover(); Thread.Sleep(3000); + // Verificar si se encontró la MAC esperada + if (!macEncontrada) + { + timer.Stop(); + Console.WriteLine("\n[ERROR DE VALIDACIÓN] La MAC del lector no coincide con la configurada."); + Console.WriteLine($"MAC Esperada: {macLimpia}"); + Console.WriteLine($"MAC Detectada: {(macDetectadaEnRed != "" ? macDetectadaEnRed : "Ninguna o diferente")}"); + Console.WriteLine($"Tiempo transcurrido: {timer.Elapsed.TotalSeconds:F2} segundos"); + ActualizarEstadoLabVIEW(3, exeDirectory, labviewFolder); // Error 3 : MAC no encontrada + + timer.Start(); + Thread.Sleep(5000); + return 0; + } + + Console.WriteLine($"\n[VALIDACIÓN OK] MAC confirmada: {macLimpia}"); Console.WriteLine("\nEnviando paquete de configuración a la red..."); try {