Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取当前工作的ip地址_C# - Fatal编程技术网

C# 获取当前工作的ip地址

C# 获取当前工作的ip地址,c#,C#,我正在寻找一种解决方案,使我能够获得我的pc/笔记本电脑当前正在工作/(使用中)的ip地址 我的意思是,我可能在局域网中,然后切换到WLAN。ip地址将更改,我需要保持最新 这就是为什么我不喜欢在互联网上找到的方法,比如IPAddress[]localIPs=Dns.GetHostAddresses(Dns.GetHostName()) 最好的方法是什么?您可以像这样查找机器的活动接口: var interfaces = NetworkInterface.GetAllNetworkInterfa

我正在寻找一种解决方案,使我能够获得我的pc/笔记本电脑当前正在工作/(使用中)的ip地址

我的意思是,我可能在局域网中,然后切换到WLAN。ip地址将更改,我需要保持最新

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


最好的方法是什么?

您可以像这样查找机器的活动接口:

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中找出这一点。看看你为什么“需要”这些信息,以及你将如何使用这些信息?当您的程序获取信息时,它可能已经过时(因为连接/断开网络超出了您的程序的控制范围),请同时查看。