如果您拥有计算机名称,如何使用c#获取计算机上的计算机IP

时间:2013-07-05 10:35:30

标签: c# ip lan

我目前正在编写一个C#程序,用于将一台计算机连接到另一台计算机。 我有接收计算机的计算机名称,但ip是动态的,所以它会不时改变。

我如何获得接收计算机的局域网IP地址? (就像192.168.1那样。#)

2 个答案:

答案 0 :(得分:2)

根据您的假设,您正在寻找第一个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();

答案 1 :(得分:1)

  

Dns.GetHostAddresses Method

您可以将主机名解析为IP,如下所示

string hostName = "www.Google.com";
IPAddress[] addresslist = Dns.GetHostAddresses(hostName);

foreach (IPAddress address in addresslist)
{
   string ip = address.ToString();
}