Mat*_*att 4 .net c# windows-applications
我正在开发一个Windows应用程序,我需要找到本地机器的IPv4和IPv6地址.操作系统可以是XP或Windows 7.
我得到了一个获取MAC地址的解决方案,
string GetMACAddress()
{
var macAddr =
(
from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
select nic.GetPhysicalAddress().ToString()
).FirstOrDefault();
return macAddr.ToString();
}
Run Code Online (Sandbox Code Playgroud)
这适用于所有操作系统.
获取适用于XP和WINDOWS 7的IPv4和IPv6地址的正确方法是什么?
string strHostName = System.Net.Dns.GetHostName();;
IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
Console.WriteLine(addr[addr.Length-1].ToString());
if (addr[0].AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6)
{
Console.WriteLine(addr[0].ToString()); //ipv6
}
Run Code Online (Sandbox Code Playgroud)