Quando eseguo il ping di un sistema remoto con Windows, si dice che non c'è risposta, ma quando eseguo il ping con C# si dice che il successo. Windows è corretto, il dispositivo non è connesso. Perché il mio codice è in grado di eseguire il ping correttamente quando Windows non lo è?Uso del ping in C#
Ecco il mio codice:
Ping p1 = new Ping();
PingReply PR = p1.Send("192.168.2.18");
// check when the ping is not success
while (!PR.Status.ToString().Equals("Success"))
{
Console.WriteLine(PR.Status.ToString());
PR = p1.Send("192.168.2.18");
}
// check after the ping is n success
while (PR.Status.ToString().Equals("Success"))
{
Console.WriteLine(PR.Status.ToString());
PR = p1.Send("192.168.2.18");
}
Partenza il seguente esempio postato in fondo a questa pagina quando si fa clic sul link MSDN http://msdn.microsoft .com/it/us/library/system.net.networkinformation.ping.aspx o http://stackoverflow.com/questions/1281176/making-a-ping-inside-of-my-c-sharp-application – MethodMan
Dovresti confrontare PR.Status con IPStatus.S uccess. Il confronto delle stringhe non è lo strumento corretto in questo caso. –
Dopo aver eseguito il ping, quali sono i valori di alcune proprietà di PingReply, (come "PR.Address", "PR.RoundtripTime", "PR.reply.Buffer.Length" e "PR.Options.Ttl"?)? Inoltre, sei sicuro di avere l'indirizzo IP corretto nel tuo codice e non un indirizzo IP di prova? –