在要安装我的应用程序的机器上,有多个网卡,其中一些用于在内部网络中通信,而其中只有一个用于向外通信。
任何人都知道如何在 c# 中检索该特定网络适配器的 ip?
我看过很多关于如何检索简单 ip 地址但没有参考具有多个适配器的机器的示例。
我应该补充一点,即使该特定适配器与网络断开连接并且所有适配器都使用静态 IP 地址,该解决方案也必须有效。
在要安装我的应用程序的机器上,有多个网卡,其中一些用于在内部网络中通信,而其中只有一个用于向外通信。
任何人都知道如何在 c# 中检索该特定网络适配器的 ip?
我看过很多关于如何检索简单 ip 地址但没有参考具有多个适配器的机器的示例。
我应该补充一点,即使该特定适配器与网络断开连接并且所有适配器都使用静态 IP 地址,该解决方案也必须有效。
你可以这样做:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
internal class Program
{
private static void Main(string[] args)
{
NetworkInterface netif =
NetworkInterface
.GetAllNetworkInterfaces()
.Single(networkInterface => networkInterface.Name.ToLower() =="loopback pseudo-interface 1");
IPInterfaceProperties properties = netif.GetIPProperties();
UnicastIPAddressInformationCollection unicastIpAddress = properties.UnicastAddresses;
Console.Write(netif.Name + ": ");
Console.WriteLine(unicastIpAddress[1].Address);
Console.ReadLine();
}
}
}