C# 获取当前工作的ip地址
我正在寻找一种解决方案,使我能够获得我的pc/笔记本电脑当前正在工作/(使用中)的ip地址 我的意思是,我可能在局域网中,然后切换到WLAN。ip地址将更改,我需要保持最新 这就是为什么我不喜欢在互联网上找到的方法,比如IPAddress[]localIPs=Dns.GetHostAddresses(Dns.GetHostName())C# 获取当前工作的ip地址,c#,C#,我正在寻找一种解决方案,使我能够获得我的pc/笔记本电脑当前正在工作/(使用中)的ip地址 我的意思是,我可能在局域网中,然后切换到WLAN。ip地址将更改,我需要保持最新 这就是为什么我不喜欢在互联网上找到的方法,比如IPAddress[]localIPs=Dns.GetHostAddresses(Dns.GetHostName()) 最好的方法是什么?您可以像这样查找机器的活动接口: var interfaces = NetworkInterface.GetAllNetworkInterfa
最好的方法是什么?您可以像这样查找机器的活动接口:
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。从那里,您可以监视适配器并决定何时需要切换以及绑定到哪个地址。这就是获取本地ip地址的方法。。不一样。我要求提供当前正在使用的尝试:System.Web.HttpContext.Current.Request.userhostaddress据我所知,没有可靠的方法从LAN中找出这一点。看看你为什么“需要”这些信息,以及你将如何使用这些信息?当您的程序获取信息时,它可能已经过时(因为连接/断开网络超出了您的程序的控制范围),请同时查看。