getIP and getPid

    private String getPid() {
        final String name = ManagementFactory.getRuntimeMXBean().getName();
        if (name != null && name.contains("@")) {
            return name.split("@")[0];
        }
        return name;
    }



public synchronized static String getLocalAddress() throws Exception {
        if (localIPAddress != null)
            return localIPAddress;

        /* loop to Ethernet cards, find a valid ip */
        final Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces();
        InetAddress ipv6Address = null;
        while (enumeration.hasMoreElements()) {
            final NetworkInterface networkInterface = enumeration.nextElement();
            final Enumeration<InetAddress> en = networkInterface.getInetAddresses();
            while (en.hasMoreElements()) {
                final InetAddress address = en.nextElement();
                if (!address.isLoopbackAddress()) {
                    if (address instanceof Inet6Address) {
                        ipv6Address = address;
                    }
                    else {
                        /* use ipv4 first */
                        return normalizeHostAddress(address);
                    }
                }

            }

        }

        /* return ipv6 if no ipv4 */
        if (ipv6Address != null) {
            return normalizeHostAddress(ipv6Address);
        }
        final InetAddress localHost = InetAddress.getLocalHost();
        localIPAddress = normalizeHostAddress(localHost);
        return localIPAddress;
    }


    public static String normalizeHostAddress(final InetAddress localHost) {
        if (localHost instanceof Inet6Address) {
            return "[" + localHost.getHostAddress() + "]";
        }
        else {
            return localHost.getHostAddress();
        }
    }

你可能感兴趣的:(get)