2013-07-05 59 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(); 
} 
相關問題