2013-07-23 5 views
2

Я знаю, что вы можете проверить подключение к сети, но я не могу найти способ проверить, действительно ли доступен интернет, кроме пинга. Я знаю несколько случаев использования, когда пользователь будет подключен к локальной WLAN, у которой нет доступа к Интернету, и я предпочел бы избежать таймаута по запросу.Как проверить подключение к Интернету?

Не удалось выполнить пинг, который займет довольно много времени, в зависимости от сетевого подключения, есть ли способ явно протестировать интернет?

+0

http://stackoverflow.com/questions/13617017/windows-phone-8-connection-handler-internet-availability – Rohit

+0

@Kyle: Это возвращает истину, даже если вы в локальном соединении. – SBoss

+0

Возможный дубликат [Что лучше всего проверить на подключение к Интернету с помощью .Net?] (Http://stackoverflow.com/questions/2031824/what-is-the-best-way-to-check-for-internet -connectivity-using-net) – Alexander

ответ

1

вы можете попробовать это ....

var asd = NetworkInterface.GetInternetInterface(); 

Я надеюсь, что это может помочь ...

0

Используйте Ping class (работает только если сервер вы пытаетесь достичь имеет ping Enabled.

public bool checkNet() 
{ 
    bool kleir = false; 
    using (Ping ping = new Ping()) 
    { 
     try 
     { 
      if (ping.Send("yourDomain.com", 2000).Status == IPStatus.Success) 
      { 
       kleir = true; 
      } 
     } 
     catch (PingException) 
     { 
      kleir = false; 
     } 
    } 
    return kleir; 
} 
+0

вы не всегда можете пинговать домен/сайт, даже если вы в сети, ping - это программа, которая полагается на определенные предварительные условия, она не на 100% надежна и не является частью протокола. – user2485710

+0

Правда, если на сервере отключен 'ping', это не сработает. Я отредактирую свой пост. – DeMama

+3

Также, (вопрос отмечен WP8) Телефон Windows не имеет класса Ping(), поэтому этот anwser не будет работать на windowsphone –

Смежные вопросы