9

Я реализую в C# протокол обнаружения (DNS-SD). У меня небольшая проблема: когда моя программа запущена, мне нужно определить, когда установлено новое соединение (подключен сетевой кабель или подключен Wi-Fi), чтобы объявить о себе и в этой сети.Сообщайте, когда подключен сетевой кабель/подключен Wi-Fi

Но как это обнаружить? Я видел некоторый код, чтобы получить текущее состояние сетевой карты, но не событие, и я хочу избежать, чтобы сделать некоторые опросы в состояниях сетевых карт.

+1

Проверьте это: http://stackoverflow.com/questions/1387650/how-to-get-an-event-whenever-the-network-cable-is-connected-or-disconnected –

ответ

4

Вы можете использовать метод GetIstNetworkAvailable, чтобы проверить, нет ли сетевого подключения вообще. Всякий раз, когда он меняет событие NetworkAvailabilityChanged, его увольняют. Для получения дополнительной информации см. this question.

Если вы хотите отслеживать наличие различного количества NetworkInterfaceshere является примером того, как это сделать.

+0

Возможно, я неправильно понял, но Я полагаю, что OP нуждается в дополнительной информации, например: Connect LAN (событие поднято), Connect Wifi (silent?) Отключить локальную сеть (без звука?), Отключить Wifi (событие). – Basic

+1

Событие NetworkAvailabilityChanged-Event должно появляться при изменении одной из доступных сетевых интерфейсов. Затем вы можете проверить, какие сетевые интерфейсы доступны. Я обновил ответ;) – Carsten

+1

Привет, я думаю, что с вашим последним примером я мог бы сделать то, что мне нужно – J4N

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