获取当前工作的IP地址

时间:2015-07-07 08:41:01

标签: c#

我正在寻找一个解决方案,它可以让我获得我的电脑/笔记本电脑当前工作/(使用中)的IP地址。

我的意思是我可能在局域网中然后切换到WLAN。 ip addy会改变,我需要保持最新状态。

这就是为什么我对我在互联网上找到的方法不满意,比如IPAddress [] localIPs = Dns.GetHostAddresses(Dns.GetHostName());

最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以像这样查找机器的活动界面:

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);

Address中任何项目的addresses属性都包含ip。从那里,您可以监视适配器并确定何时需要切换以及要绑定的地址。