【发布时间】:2021-03-01 19:51:20
【问题描述】:
我想从任何 Windows 设备获取本地 IP 地址。它适用于我的台式电脑。但是当我尝试获取笔记本电脑或 Surface 的 IP 时,我总是得到123.123.123.123。
foreach (NetworkInterface nInterface in NetworkInterface.GetAllNetworkInterfaces()) {
if (nInterface.NetworkInterfaceType == NetworkInterfaceType.Ethernet && nInterface.OperationalStatus == OperationalStatus.Up)
foreach (var ip in nInterface.GetIPProperties().UnicastAddresses)
if (ip.Address.AddressFamily == AddressFamily.InterNetwork)
return ip.Address;
}
return IPAddress.Parse("123.123.123.123"); // Only for visualization, that none of the addresses fulfilled the conditions
我需要添加另一个 NetworkInterfaceType 吗?
【问题讨论】:
-
看起来类似于这个问题...stackoverflow.com/questions/6803073/get-local-ip-address我会检查并查看批准的答案是否能解决您的问题。
-
我已经尝试过使用 DNS。同样的问题
-
我注意到这段代码只处理 IPv4
标签: c# system.net