2012-06-25 9 views
2

Как узнать, получила ли моя система новый IP-адрес?Как определить, установлено ли новое соединение Wlan/Lan? ПК

Моя программа считывает все локальные IP-адреса более DNS.GetHostAddress и связывает сокет на каждом из них. Однако после приостановки я не могу подключиться к своей программе.

Есть ли событие в System.Net, чтобы уведомить меня, когда система получила новый IP-адрес? Моя текущая идея обходного пути - это дополнительный поток, который проверяет текущие интерфейсы.

+0

Возможно, вам захочется обнаружить, что вы вошли в режим ожидания или вышли из него. – grieve

ответ

0

Возможно, вы захотите использовать событие System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged.

Посмотрите здесь: http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkchange.networkaddresschanged.aspx

было бы интересно посмотреть, если это работает. Выглядит многообещающе.

Если нет, вы можете опросить каждые n секунд, но не очень, но я сомневаюсь, что n является разумным уровнем, это будет иметь большое влияние на производительность?

+0

спасибо, это похоже на событие, которое я искал. Я попробую :) – user1481065

0

Возможно, это аппаратное обеспечение. Это происходит, если ваш компьютер подключен через ethernet или Wi-Fi? Возникает ли проблема в обоих направлениях?

Я бы попробовал как Ethernet, так и Wi-Fi, поставив компьютер в спящий режим, а затем проверив, есть ли у вас проблема.

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