在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地址,并將其輸出到控制臺。