【发布时间】:2013-07-03 10:27:41
【问题描述】:
我目前正在编写一个 C# 程序来将一台计算机连接到局域网上的另一台计算机。 我有接收计算机的计算机名称,但 ip 是动态的,因此会不时更改。
如何获取接收计算机的局域网 IP 地址? (类似 192.168.1.# 的那个)
【问题讨论】:
-
抱歉,我尝试搜索但不知道它被称为主机名
我目前正在编写一个 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();
}
【讨论】: