public static string GetLocalIPAddress()
{
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
return ip.ToString();
}
}
throw new Exception("No network adapters with an IPv4 address in the system!");
}
如果有虚拟网卡或多个物理网卡,它可能会返回错误的结果。
更新:
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (var adapter in interfaces)
{
// здесь ищешь адаптер по нужным параметрам
// и здесь же достаешь айпишник
}
该解决方案不适用于任何机器:
如果有虚拟网卡或多个物理网卡,它可能会返回错误的结果。
更新: