From 8ff8582dd7d588424f63766f814bc62a812692ab Mon Sep 17 00:00:00 2001 From: henning Date: Mon, 9 Mar 2020 23:36:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86=E9=81=8D=E5=8E=86=E9=80=82?= =?UTF-8?q?=E9=85=8D=E5=99=A8=E6=97=B6=E7=9A=84=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Netch/Utils/Configuration.cs | 56 ++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 25 deletions(-) diff --git a/Netch/Utils/Configuration.cs b/Netch/Utils/Configuration.cs index 505de365..069d57d0 100644 --- a/Netch/Utils/Configuration.cs +++ b/Netch/Utils/Configuration.cs @@ -109,39 +109,45 @@ namespace Netch.Utils var AddressGot = false; foreach (var adapter in NetworkInterface.GetAllNetworkInterfaces()) { - var adapterProperties = adapter.GetIPProperties(); - var p = adapterProperties.GetIPv4Properties(); - Logging.Info($"检测适配器:{adapter.Name} {adapter.Id} {adapter.Description}, index: {p.Index}"); - - // 通过索引查找对应适配器的 IPv4 地址 - if (p.Index == Global.Adapter.Index) + try { - var AdapterIPs = ""; + var adapterProperties = adapter.GetIPProperties(); + var p = adapterProperties.GetIPv4Properties(); + Logging.Info($"检测适配器:{adapter.Name} {adapter.Id} {adapter.Description}, index: {p.Index}"); - foreach (var ip in adapterProperties.UnicastAddresses) + // 通过索引查找对应适配器的 IPv4 地址 + if (p.Index == Global.Adapter.Index) { - if (ip.Address.AddressFamily == AddressFamily.InterNetwork) + var AdapterIPs = ""; + + foreach (var ip in adapterProperties.UnicastAddresses) { - AddressGot = true; - Global.Adapter.Address = ip.Address; - Logging.Info($"当前出口 IPv4 地址:{Global.Adapter.Address}"); - break; + if (ip.Address.AddressFamily == AddressFamily.InterNetwork) + { + AddressGot = true; + Global.Adapter.Address = ip.Address; + Logging.Info($"当前出口 IPv4 地址:{Global.Adapter.Address}"); + break; + } + AdapterIPs = $"{ip.Address} | "; } - AdapterIPs = $"{ip.Address} | "; + + if (!AddressGot) + { + if (AdapterIPs.Length > 3) + { + AdapterIPs = AdapterIPs.Substring(0, AdapterIPs.Length - 3); + Logging.Info($"所有出口地址:{AdapterIPs}"); + } + Logging.Info("出口无 IPv4 地址,当前只支持 IPv4 地址"); + return false; + } + break; } - if (!AddressGot) - { - if (AdapterIPs.Length > 3) - { - AdapterIPs = AdapterIPs.Substring(0, AdapterIPs.Length - 3); - Logging.Info($"所有出口地址:{AdapterIPs}"); - } - Logging.Info("出口无 IPv4 地址,当前只支持 IPv4 地址"); - return false; - } - break; } + catch (Exception) + { } } if (!AddressGot)