我目前正在编写一个 C# 程序来将一台计算机连接到局域网上的另一台计算机。我有接收计算机的计算机名称,但 ip 是动态的,因此它会不时更改。
我如何获得接收计算机的局域网 IP 地址?(类似 192.168.1.# 的那个)
假设根据您的假设您正在寻找第一个 IPv4 ip 地址,您可以使用以下内容:
String name = "Name";
IPHostEntry ipHostInfo = Dns.GetHostEntry(name);
// OR you can get the name of the current computer using
// IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
// Get the first IPv4 address
IPAddress ip = ipHostInfo.AddressList.Where(n => n.AddressFamily == AddressFamily.InterNetwork).First();
您可以将主机名解析为 IP,如下所示
string hostName = "www.Google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(hostName);
foreach (IPAddress address in addresslist)
{
string ip = address.ToString();
}