我目前正在尝试将管理控制台应用程序移植到Win 10 UWP应用程序。我在以下控制台代码中使用System.Net.Dns遇到麻烦。
我如何获得设备IP
这是我尝试移植的控制台应用程序代码。
public static string GetIP4Address()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily == AddressFamily.InterNetwork)
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}
最佳答案
您可以这样尝试:
private string GetLocalIp()
{
var icp = NetworkInformation.GetInternetConnectionProfile();
if (icp?.NetworkAdapter == null) return null;
var hostname =
NetworkInformation.GetHostNames()
.SingleOrDefault(
hn =>
hn.IPInformation?.NetworkAdapter != null && hn.IPInformation.NetworkAdapter.NetworkAdapterId
== icp.NetworkAdapter.NetworkAdapterId);
// the ip address
return hostname?.CanonicalName;
}
上面的答案也是正确的
关于c# - 如何在Win 10 UWP项目中找到本地IP地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33770429/