📅  最后修改于: 2023-12-03 14:59:44.320000             🧑  作者: Mango
在开发网络应用程序时,经常需要获取本机的IP地址。本文介绍如何使用C#程序查找机器的IP地址。
以下示例代码演示了如何使用C#程序获取本机的IP地址。首先,需要引用System.Net命名空间,然后使用Dns类的GetHostEntry()方法获取本机的主机入口。
using System;
using System.Net;
class Program
{
static void Main(string[] args)
{
string hostname = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostEntry(hostname);
foreach (IPAddress ip in ipEntry.AddressList)
{
Console.WriteLine(ip);
}
}
}
以下示例代码演示了如何使用C#程序根据指定的主机名称获取它的IP地址。
using System;
using System.Net;
class Program
{
static void Main(string[] args)
{
string hostname = "www.google.com";
IPHostEntry ipEntry = Dns.GetHostEntry(hostname);
foreach (IPAddress ip in ipEntry.AddressList)
{
Console.WriteLine(ip);
}
}
}
以上示例代码将输出谷歌网站的IP地址。
以下示例代码演示了如何使用C#程序获取本机的IPv4地址。
using System;
using System.Net;
using System.Linq;
class Program
{
static void Main(string[] args)
{
string hostname = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostEntry(hostname);
IPAddress ipAddressV4 = ipEntry.AddressList.FirstOrDefault(a => a.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
Console.WriteLine(ipAddressV4);
}
}
以上示例代码将输出本机的IPv4地址,即第一个AddressFamily属性等于System.Net.Sockets.AddressFamily.InterNetwork的地址。
以下示例代码演示了如何使用C#程序获取本机的IPv6地址。
using System;
using System.Net;
using System.Linq;
class Program
{
static void Main(string[] args)
{
string hostname = Dns.GetHostName();
IPHostEntry ipEntry = Dns.GetHostEntry(hostname);
IPAddress ipAddressV6 = ipEntry.AddressList.FirstOrDefault(a => a.AddressFamily == System.Net.Sockets.AddressFamily.InterNetworkV6);
Console.WriteLine(ipAddressV6);
}
}
以上示例代码将输出本机的IPv6地址,即第一个AddressFamily属性等于System.Net.Sockets.AddressFamily.InterNetworkV6的地址。