我正在寻找一种解决方案,可以让我获取我的电脑/笔记本当前正在使用的IP地址。
我的意思是,我可能在局域网中,然后切换到无线局域网。 IP地址会更改,我需要保持最新。
这就是为什么我不满意在互联网上找到的方法,例如IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
对于此问题,最好的方法是什么?
我正在寻找一种解决方案,可以让我获取我的电脑/笔记本当前正在使用的IP地址。
我的意思是,我可能在局域网中,然后切换到无线局域网。 IP地址会更改,我需要保持最新。
这就是为什么我不满意在互联网上找到的方法,例如IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
对于此问题,最好的方法是什么?
var interfaces = NetworkInterface.GetAllNetworkInterfaces().Where(a => a.OperationalStatus == OperationalStatus.Up);
var addresses = interfaces.First().GetIPProperties().UnicastAddresses.Where(a => a.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
addresses
中任何项的Address
属性都包含IP地址。从那里,您可以监视适配器并决定何时需要切换以及绑定到哪个地址。