c#

c#怎么获取服务器ip

小亿
93
2024-10-27 00:31:34
栏目: 云计算

在C#中,你可以使用System.Net命名空间中的类来获取服务器的IP地址。以下是一个简单的示例,展示了如何使用TcpClient类获取本地服务器的IP地址:

using System;
using System.Net;
using System.Net.Sockets;

class Program
{
    static void Main()
    {
        // 获取本地IP地址
        IPAddress localAddr = GetLocalIPAddress();
        Console.WriteLine("本地IP地址: " + localAddr);
    }

    static IPAddress GetLocalIPAddress()
    {
        // 获取本地计算机的网络适配器信息
        NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();

        // 遍历所有网络适配器
        foreach (NetworkInterface adapter in nics)
        {
            // 检查适配器是否支持IPv4
            if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet ||
                adapter.NetworkInterfaceType == NetworkInterfaceType.Wireless80211)
            {
                // 获取适配器的所有IP地址
                IPAddress[] ipAddresses = adapter.GetIPProperties().UnicastAddresses;

                // 遍历所有IP地址
                foreach (IPAddress ip in ipAddresses)
                {
                    // 检查IP地址是否为IPv4并且不是环回地址
                    if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork &&
                        !ip.IsLoopback)
                    {
                        // 返回第一个IPv4非环回地址
                        return ip;
                    }
                }
            }
        }

        // 如果没有找到IPv4地址,返回null
        return null;
    }
}

这个示例将获取本地计算机的IP地址,并将其输出到控制台。请注意,这个方法仅适用于本地计算机。如果你需要获取远程服务器的IP地址,你需要知道远程服务器的域名或IP地址。然后,你可以使用Dns.GetHostEntry方法来获取服务器的IP地址:

using System;
using System.Net;

class Program
{
    static void Main()
    {
        // 远程服务器的域名或IP地址
        string serverAddress = "example.com";

        // 获取远程服务器的IP地址
        IPHostEntry hostEntry = Dns.GetHostEntry(serverAddress);
        IPAddress serverIp = hostEntry.AddressList[0];

        Console.WriteLine("远程服务器IP地址: " + serverIp);
    }
}

example.com替换为你要查询的远程服务器的域名或IP地址。这个示例将获取远程服务器的IP地址,并将其输出到控制台。

0
看了该问题的人还看了