2011-04-04 211 views
1

任何人都可以告訴我內部IP地址和外部IP地址有什麼不同嗎?如何在任何編程語言如Java,C#或Adobe AIR中獲得?內部IP地址和外部IP地址之間的區別

+1

對於Java中的外部IP地址,請看這裏:http://stackoverflow.com/questions/29392 18 /越來越外部ip地址在java – MByD 2011-04-04 20:15:42

+0

內部IP呢?如何在Java中獲得它? – 2011-04-04 20:26:31

+1

請參閱Dan的回答 – MByD 2011-04-04 20:27:33

回答

1

內部IP地址是從您的網絡地址:

IPHostEntry heserver = Dns.GetHostEntry(Dns.GetHostName()); 
IPAddress curAdd = heserver.AddressList[0]; 
curAdd.ToString(); 

你的外部IP地址是由ISP的地址

string ip = new 
    System.Net.WebClient() 
     .DownloadString(("http://www.whatismyip.com/automation/n09230945.asp")); 
+0

那麼我們如何使用C#檢索外部IP? – 2011-04-04 20:14:08

+1

也添加了代碼。 – SQLMason 2011-04-04 20:15:54

+0

謝謝Dan Andrews。並告訴我,如何獲得C#計算機的名字? – 2011-04-04 20:27:47

1

您可以使用下面的代碼(在Java中)得到本地IP地址:

public String getLocalIpAddress() { 
    try { 
     for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { 
      NetworkInterface ni = en.nextElement(); 
      for (Enumeration enumIpAddr = ni.getInetAddresses(); enumIpAddr.hasMoreElements();) { 
       InetAddress inetAddress = enumIpAddr.nextElement(); 
       if (!inetAddress.isLoopbackAddress()) { //ignore 127.0.0.1 
        return inetAddress.getHostAddress().toString(); 
       } 
      } 
     } 
    } catch (SocketException ex) { 
    } 
    return null; 
} 
+0

非常感謝MByd。請給我一個Java代碼的機器名稱.... – 2011-04-04 22:06:16