2013-07-05 47 views
-1

我目前正在编写一个C#程序来连接一台计算机到另一台计算机上。 我有接收计算机的计算机名称,但IP是动态的,所以它会不时变化。如何获得计算机上的IP如果你有计算机的名称,使用c#

如何获得接收计算机的LAN IP地址? (一说是这样192.168.1。#)

+3

duplicate.http:// stackoverflow .com/questions/11931582/get-ip-address-from-hostname-in-lan –

+0

我很抱歉,我试过搜索,但并不知道它被称为主机名 – Logan

回答

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(); 
+0

我似乎无法得到“.Where”部分工作它不被认可。 – Logan

+0

您使用的是什么.net框架版本? – Kurubaran

+0

4.5它是特定命名空间的一部分吗? – Logan

1

Dns.GetHostAddresses Method

可以解析主机名到IP如下

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

foreach (IPAddress address in addresslist) 
{ 
    string ip = address.ToString(); 
} 
相关问题