2010-03-13 7 views
7

Quiero formular 2 preguntas y agradecería que alguien pueda responder.Comprobando si la PC está conectada a la LAN o no

  1. ¿Cómo puedo verificar (usando C#) si la PC está conectada a la LAN o no?

  2. ¿Cómo puedo comprobar (usando C#) mi PC está conectado a la LAN o centro de ping no

+1

Por favor, vea http://stackoverflow.com/questions/314213/checking-network-status-in-c - si esto no responde a su pregunta completamente, es posible que desee edítelo para hacer la diferencia entre la pregunta # 1 y # 2 aparente ... – mdb

Respuesta

1

Uso System.Net.NetworkInformation del espacio de nombres. Para obtener más información, consulte this link

3

Desea usar Ping para verificar si una PC está conectada a la LAN. He aquí una muestra:

var ping = new Ping(); 
var options = new PingOptions { DontFragment = true }; 

//just need some data. this sends 10 bytes. 
var buffer = Encoding.ASCII.GetBytes(new string('z', 10)); 
var host = "127.0.0.1"; 

try 
{ 
    var reply = ping.Send(host, 60, buffer, options); 
    if (reply == null) 
    { 
     MessageBox.Show("Reply was null"); 
     return; 
    } 

    if (reply.Status == IPStatus.Success) 
    { 
     MessageBox.Show("Ping was successful."); 
    } 
    else 
    { 
     MessageBox.Show("Ping failed."); 
    } 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 

para comprobar si es el propietario de la máquina se conecta, se puede hacer lo mismo con una dirección que debe resolver sabe como decir que el controlador de dominio.

+1

@Thomas este código envía un ping exitoso incluso si elimino el cable lan de mi PC – HotTester

+2

Eso es porque utilicé 127.0.0.1 solo para fines ilustrativos. Debería reemplazar esa IP con una en la red, como decir un controlador de dominio. – Thomas

7

Trate

System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() 
+0

¿No se suponía que dijera, si tiene alguna conexión de red? – lentinant

Cuestiones relacionadas