package com.hdl.sdk.link.common.utils; import java.net.InetAddress; import java.net.InterfaceAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * Created by Tong on 2021/9/27. */ public class IpUtils { /** * @return 广播地址 */ public static String getBroadcastAddress() { try { for (Enumeration niEnum = NetworkInterface.getNetworkInterfaces(); niEnum.hasMoreElements(); ) { NetworkInterface ni = niEnum.nextElement(); if (!ni.isLoopback()) { for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) { if (interfaceAddress.getBroadcast() != null) { return interfaceAddress.getBroadcast().toString().substring(1); } } } } } catch (SocketException e) { e.printStackTrace(); } return "255.255.255.255"; } public static boolean isLocalIpAddress(String ipAddress) { try { for (Enumeration niEnum = NetworkInterface.getNetworkInterfaces(); niEnum.hasMoreElements(); ) { NetworkInterface ni = niEnum.nextElement(); for (InterfaceAddress interfaceAddress : ni.getInterfaceAddresses()) { if (ipAddress.equals(interfaceAddress.getAddress().getHostAddress())) { return true; } } } } catch (SocketException e) { e.printStackTrace(); } return false; } private static String intToIp(int i) { return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "." + (i >> 24 & 0xFF); } }