📜  c#获取ip地址 - C#(1)

📅  最后修改于: 2023-12-03 14:59:44.387000             🧑  作者: Mango

C#获取IP地址

在开发网络应用程序时,获取客户端或服务器的IP地址是必不可少的操作。在C#中,可以使用System.Net命名空间下的IPAddress类来获取IP地址。

获取本地IP地址

如果需要获取本地计算机(即当前运行程序的计算机)的IP地址,可以使用以下代码片段:

IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress localIP in localIPs)
{
    if (localIP.AddressFamily == AddressFamily.InterNetwork)
    {
        Console.WriteLine("本地IP地址:" + localIP.ToString());
    }
}

首先,使用Dns类的GetHostName方法获取本地计算机的主机名称。然后,使用Dns类的GetHostAddresses方法获取所有与该主机名称关联的IP地址。IPAddress类的一个实例表示一个IP地址,localIP.AddressFamily == AddressFamily.InterNetwork用于判断是否为IPv4地址。

获取远程IP地址

如果需要获取连接到服务器的客户端的IP地址,可以使用以下代码片段:

string remoteIPAddress = ((IPEndPoint)socket.RemoteEndPoint).Address.ToString();
Console.WriteLine("客户端IP地址:" + remoteIPAddress);

这里假设已经建立了一个名为socket的TcpClient类的实例。socket.RemoteEndPoint属性返回远程终结点的IP地址和端口号,使用IPEndPoint类进行类型转换,获取客户端的IP地址。

总结

通过IPAddress类和相关方法,可以方便地获取本地和远程计算机的IP地址。在实际开发中,应根据具体情况选择相应的方法,合理地获取需要的IP地址。