我正在寻找一个解决方案,它可以让我获得我的电脑/笔记本电脑当前工作/(使用中)的IP地址。
我的意思是我可能在局域网中然后切换到WLAN。 ip addy会改变,我需要保持最新状态。
这就是为什么我对我在互联网上找到的方法不满意,比如IPAddress [] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
最佳方法是什么?
答案 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。从那里,您可以监视适配器并确定何时需要切换以及要绑定的地址。