當前位置:編程學習大全網 - 編程軟體 - 局域網中的電腦如何用java代碼取得出口IP?

局域網中的電腦如何用java代碼取得出口IP?

public class GetRealIp {

public static void main(String[] args) throws SocketException {

System.out.println(GetRealIp.getRealIp());

}

public static String getRealIp() throws SocketException {

String localip = null;// 本地IP,如果沒有配置外網IP則返回它

String netip = null;// 外網IP

Enumeration<NetworkInterface> netInterfaces =

NetworkInterface.getNetworkInterfaces();

InetAddress ip = null;

boolean finded = false;// 是否找到外網IP

while (netInterfaces.hasMoreElements() && !finded) {

NetworkInterface ni = netInterfaces.nextElement();

Enumeration<InetAddress> address = ni.getInetAddresses();

while (address.hasMoreElements()) {

ip = address.nextElement();

if (!ip.isSiteLocalAddress()

&& !ip.isLoopbackAddress()

&& ip.getHostAddress().indexOf(":") == -1) {// 外網IP

netip = ip.getHostAddress();

finded = true;

break;

} else if (ip.isSiteLocalAddress()

&& !ip.isLoopbackAddress()

&& ip.getHostAddress().indexOf(":") == -1) {// 內網IP

localip = ip.getHostAddress();

}

}

}

if (netip != null && !"".equals(netip)) {

return netip;

} else {

return localip;

}

}

}

自己寫了壹個幫妳實現,希望對妳有幫助

  • 上一篇:吃豆豆的遊戲叫什麽
  • 下一篇:c語言編程問題(填空題)
  • copyright 2024編程學習大全網