c# - 获取当前工作的ip地址

标签 c#

我正在寻找一种解决方案,使我能够获得我的个人电脑/笔记本电脑当前工作/(正在使用)的 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/

相关文章:

C# 性能因内存而异

c# - c#.net 和 vb.net 中同一 dll 的属性差异

c# - 调整二叉树的范围搜索以获得外部元素

c# - LINQ to SQL(.dbml) : how do ExecuteQuery method return DataTable?

c# - 确定代码圈复杂度的最佳工具

c# - 这是 Cast<T> 在 Controls 集合上的正常行为吗?

c# - Google Maps.TimeZone.Query LatLng 返回不正确的时间偏移

c# - 在基于行的数据集合中快速或简洁地确定每列最长的字符串

c# - 添加 DotNetSeleniumExtras 包扩展时引用类型错误

c# - List<T> 的 XML 序列化 - XML 根