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