2016-01-04 2 views
1

Я использую ниже код, чтобы проверить, работает ли сервер или нетTtlExpired статус при попытке пинг сервера

bool isReachable = false; 

     Ping pinger = new Ping(); 
     try 
     { 
      PingOptions opt = new PingOptions(255, false); 
      PingReply reply = pinger.Send("www.stackoverflow.com", 1000, new byte[32], opt); 

      isReachable = reply.Status == IPStatus.Success; 
     } 
     catch (PingException) 
     { 
      // Discard PingExceptions and return false; 
     } 

Я не получаю статус успеха от сервера, а я получаю, как System.Net.NetworkInformation .IPStatus.TtlExpired.

Я пробовал разные хосты, такие как www.google.com, www.wikipedia.org, но не получал статус успеха с сервера. Я могу выполнить ping без каких-либо проблем в командной строке

Я пробовал без опции ttl, но только тот же ответ.

PingReply reply = pinger.Send("www.stackoverflow.com"); 
isReachable = reply.Status == IPStatus.Success; 
+7

Ну да, 'HTTP: // www.google.com' это не имя или адрес IP - это URL. Вы бы использовали 'www.google.com' как просто имя для поиска адреса. –

+0

@JonSkeet, Спасибо, я изменил, но все равно я получаю такую ​​же ошибку. – Subha

+4

У вас все еще есть '/' в конце. Это тоже не часть адреса. –

ответ

0
  PingReply reply = pinger.Send("www.google.com/"); 

должен быть

  PingReply reply = pinger.Send("www.google.com"); 
Смежные вопросы