C#编程中获取IP地址的方法示例和详解

分类:知识百科 日期: 点击:0

C#编程中获取IP地址是一个常见的任务,它可以帮助我们获取本机的IP地址,以及本机的网络连接状态。获取IP地址的方法有多种,本文将介绍使用C#编程获取IP地址的几种方法,以及每种方法的使用方法。

使用System.Net.Sockets.TcpClient获取IP地址

// 创建TcpClient对象
TcpClient client = new TcpClient();

// 连接到远程服务器
client.Connect("www.example.com", 80);

// 获取本机的IP地址
IPAddress localAddr = ((IPEndPoint)client.Client.LocalEndPoint).Address;

// 打印本机的IP地址
Console.WriteLine(localAddr.ToString());

上面的代码使用了System.Net.Sockets.TcpClient类来获取本机的IP地址,其中,client.Connect方法用于连接远程服务器,通过client.Client.LocalEndPoint获取本机的IP地址,使用Console.WriteLine方法打印出本机的IP地址。

使用System.Net.Dns.GetHostEntry获取IP地址

// 获取本机的IP地址
IPAddress[] localIPs = Dns.GetHostEntry(Dns.GetHostName()).AddressList;

// 打印本机的IP地址
foreach(IPAddress ip in localIPs)
{
    Console.WriteLine(ip.ToString());
}

上面的代码使用了System.Net.Dns.GetHostEntry类来获取本机的IP地址,其中,Dns.GetHostName方法用于获取本机的主机名,使用Dns.GetHostEntry方法获取本机的IP地址,使用foreach循环打印出本机的IP地址。

使用System.Net.NetworkInformation.NetworkInterface获取IP地址

// 获取本机的IP地址
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();

// 打印本机的IP地址
foreach(NetworkInterface adapter in nics)
{
    IPInterfaceProperties ipProps = adapter.GetIPProperties();
    foreach(IPAddressInformation ip in ipProps.UnicastAddresses)
    {
        if(ip.Address.AddressFamily == AddressFamily.InterNetwork)
        {
            Console.WriteLine(ip.Address.ToString());
        }
    }
}

上面的代码使用了System.Net.NetworkInformation.NetworkInterface类来获取本机的IP地址,其中,NetworkInterface.GetAllNetworkInterfaces方法用于获取本机的所有网络接口,使用NetworkInterface.GetIPProperties方法获取本机的IP地址,使用foreach循环打印出本机的IP地址。

使用System.Net.NetworkInformation.IPGlobalProperties获取IP地址

// 获取本机的IP地址
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();

// 打印本机的IP地址
foreach(UnicastIPAddressInformation ip in ipProperties.UnicastAddresses)
{
    if(ip.Address.AddressFamily == AddressFamily.InterNetwork)
    {
        Console.WriteLine(ip.Address.ToString());
    }
}

上面的代码使用了System.Net.NetworkInformation.IPGlobalProperties类来获取本机的IP地址,其中,IPGlobalProperties.GetIPGlobalProperties方法用于获取本机的全局IP属性,使用IPGlobalProperties.UnicastAddresses方法获取本机的IP地址,使用foreach循环打印出本机的IP地址。

以上就是使用C#编程获取IP地址的几种方法,每种方法的使用方法都有所不同,但都可以达到获取本机的IP地址的目的。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。