Difference between Internal IP Address and Externa

2020-08-09 04:10发布

问题:

Can anyone tell me what is difference between Internal IP Address and External IP Address? How to get both in any programming language like Java, C# or Adobe AIR?

回答1:

Internal IP address is the address from your network:

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

Your external IP address is the address from your ISP

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


回答2:

You can use the following code (in java) to get the local IP address:

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;
 }