在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地址,并将其输出到控制台。