Как я могу увидеть, если сетевое соединение меняет состояние? - PullRequest
2 голосов
/ 04 февраля 2010

Я пишу приложение, которое проверяет, подключен ли компьютер к какой-либо конкретной сети или нет, и делает что-то волшебное для наших пользователей.

Приложение будет работать в фоновом режиме и выполнять проверку, если пользователь запрашивает его (меню в трее). Я также хочу, чтобы приложение автоматически проверяло и выполняло магию, если пользователь переключается с проводного на беспроводное соединение или отключается и подключается к новой сети.

Можно ли заставить его срабатывать при изменении состояния сетевого интерфейса?

Ответы [ 3 ]

3 голосов
/ 04 февраля 2010
1 голос
/ 14 ноября 2017

Вы должны использовать System.Net.NetworkInformation

 NetworkChange.NetworkAvailabilityChanged += new NetworkAvailabilityChangedEventHandler((sender, e, ...otherParametersIfYouWant) => AvailabilityChangedCallback(sender, e, ...)); 
private void AvailabilityChangedCallback(object sender, NetworkAvailabilityEventArgs e)
    {
        if (e.IsAvailable)
        {
        //Internet Connection is available   
        }
     }

Для получения дополнительной информации проверьте это

0 голосов
/ 04 февраля 2010

Единственный надежный способ сделать это - периодически проверять наличие какого-либо надежного внешнего ресурса. Вы можете, например, пропинговать свой сервер, запросить некоторую информацию и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...