Dns.BeginGetHostEntry Не разрешает правильное имя при соединении с двумя сетями - PullRequest
0 голосов
/ 20 февраля 2020

Привет,

Я использовал

System.Net.Dns.BeginGetHostEntry

Для разрешения DNS, но я испытал очень странное поведение при подключении к двум разным сетям Так что я сделал

  • Подключите Ethe rnet Кабель
  • Подключитесь к Wifi

So Now There is two different networks

  • Попробуйте разрешить днс с
 Dns.BeginGetHostEntry(pc.ip.ToString(), ar =>
            {
                var _pc = (PC) ar.AsyncState;
                string str = null;
                try
                {
                    str = Dns.EndGetHostEntry(ar).HostName;
                    if (string.IsNullOrEmpty(str))
                    {
                        str = "noname";
                    }

                    _pc.ResolvedDns = str;
                    callbackOnNewPc(_pc);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Error While Resolving DNS");
                }
            }, pc);

Я получаю android-a12bedcefec81c98, пока мое устройство DESKTOP-P61PU7M

Уведомление

  • android-a12bedcefec81c98 находится в сети Ethe rnet
  • android-a12bedcefec81c98 имеет тот же ip моего устройства в сети Wi-Fi
  • Если я только подключен к Ethe rnet я получаю правильное имя
  • Если я только подключен к Wi-Fi также получите правильное имя

Итак, почему эта проблема возникает и как я могу ее решить.

...