我正在寻找一种解决方案,使我能够获得我的个人电脑/笔记本电脑当前工作/(正在使用)的 ip 地址。
我的意思是我可能在 LAN 中,然后切换到 WLAN。 ip addy 会改变,我需要保持最新状态。
这就是为什么我对在互联网上找到的方法不满意,例如 IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
最好的方法是什么?
最佳答案
您可以像这样查看机器的事件接口(interface):
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。从那里您可以监控适配器并决定何时需要切换以及绑定(bind)到哪个地址。
关于c# - 获取当前工作的ip地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31263732/