获取本机ip

╰半橙微兮° 2022-07-12 02:42 430阅读 0赞
  1. /**
  2. * 获取本机ip
  3. *
  4. * 通过 获取系统所有的networkInterface网络接口 然后遍历 每个网络下的InterfaceAddress组。
  5. * 获得符合 <code>InetAddress instanceof Inet4Address</code> 条件的一个IpV4地址
  6. * @return
  7. */
  8. public static String getLocalIP(){
  9. String ip = null;
  10. Enumeration allNetInterfaces ; //java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法
  11. try {
  12. allNetInterfaces = NetworkInterface.getNetworkInterfaces(); //得到本机所有的网络接口并存入Enumeration中
  13. while (allNetInterfaces.hasMoreElements()) { //遍历判断Enumeration 中是否含有元素
  14. NetworkInterface networkInterface = (NetworkInterface) allNetInterfaces.nextElement(); //取出该元素
  15. List<InterfaceAddress> interfaceAddresses = networkInterface.getInterfaceAddresses(); //获取此网络接口的全部或部分 InterfaceAddresses 所组成的列表
  16. for (InterfaceAddress address : interfaceAddresses) {
  17. InetAddress inetAddress = address.getAddress(); //得到byte数组形式的IP地址
  18. if (inetAddress != null && inetAddress instanceof Inet4Address) {
  19. ip = inetAddress.getHostAddress(); //获取本机的IP地址
  20. }
  21. }
  22. }
  23. } catch (SocketException e) {
  24. System.err.println("获取本机ip发生异常: "+e);
  25. }
  26. return ip;
  27. }

发表评论

表情:
评论列表 (有 0 条评论,430人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C# 获取IP方法

    今天打算试着写个小聊天程序,但是要用到获取本机IP,以前从没用过。摆渡百度了一会儿,出于贪心,想把各种获取本机IP的方法给找出来。摆渡+测试了几个小时,于是有了下面的成果,有点