Как определить, что на c # было отключено соединение при переходе с wifi на кабель? - PullRequest
0 голосов
/ 06 сентября 2018

Я искал в Интернете события на c #, когда сетевое соединение отключено, и натолкнулся на эту статью о CodeProject, в которой используется класс NetworkChange из .NET, подписывающийся на события NetworkAvailabilityChanged и NetworkAddressChanged.

Хотя он отлично справляется с обработкой событий для подключения сетевых карт, в моих тестах он не вызывал событие, когда мы переходим (отключаемся) от соединения Wi-Fi к кабельному соединению. Просто чтобы понять мой контекст, и до того, как ко мне придет тонна комментариев к дубликатам, это моя установка:

  • у меня на wi-fi подключена Microsoft Surface, кабель ранее подключен
  • Я отключил соединение Wi-Fi, ожидая, что будут вызваны события, но вместо этого оно отключается, и соединение переходит на мою локальную карту Ethernet, не вызывая никаких событий.

У вас есть идея, как подойти к этой проблеме? Или вы уже сталкивались с таким сценарием?

Любые идеи очень ценятся.

Спасибо.

1 Ответ

0 голосов
/ 06 сентября 2018

Это просто идея, я не знаю, есть ли какие-либо методы для этого. При изменении сетевого подключения IP-адрес также меняется. Вы можете установить статический ip для wifi и ethernet, а затем создать функцию, которая всегда проверяет ip. Когда есть изменение, это означает, что соединение изменилось. Я не знаю, сработает ли это, но, возможно, это поможет вам.

...