【问题标题】:Difference between Internal IP Address and External IP Address内部 IP 地址和外部 IP 地址之间的区别
【发布时间】:2011-07-29 11:04:32
【问题描述】:

谁能告诉我内部 IP 地址和外部 IP 地址有什么区别?如何同时使用 Java、C# 或 Adob​​e AIR 等任何编程语言?

【问题讨论】:

标签: c# java networking network-programming network-protocols


【解决方案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"));

【讨论】:

  • 那么我们如何使用 C# 检索外部 IP?
  • 字符串主机名 = Dns.GetHostName();
【解决方案2】:

您可以使用以下代码(在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;
 }

【讨论】:

  • 非常感谢 MByd。请给我一个在java中获取机器名称的代码......
猜你喜欢
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
相关资源
最近更新 更多