使用Java获取服务器IP地址

使用Java获取服务器IP地址

public class NetworkInterfaceUtil {
    private static List<NetworkInterface> getInterfaces() throws SocketException {
        return Collections.list(NetworkInterface.getNetworkInterfaces());
    }

    private static List<NetworkInterface> getNonLoopBackInterfaces() throws SocketException {
        return getInterfaces().stream()
                              .filter(i -> Unchecked.supplier(() -> !i.isLoopback()).get())
                              .collect(toList());
    }

    public static List<String> getIp4Addresses() throws SocketException {
        final List<NetworkInterface> is = getNonLoopBackInterfaces();
        return is.stream().flatMap(i -> {
            final Enumeration<InetAddress> addresses = i.getInetAddresses();
            final Builder<String> builder = Stream.builder();
            while (addresses.hasMoreElements()) {
                final InetAddress ip = addresses.nextElement();
                if (!ip.isLoopbackAddress()) {
                    if (ip.getHostAddress().equalsIgnoreCase("127.0.0.1")) {
                        continue;
                    }
                    if (ip instanceof Inet6Address) {
                        continue;
                    }
                    if (ip instanceof Inet4Address) {
                        builder.add(ip.getHostAddress());
                    }
                }
            }
            return builder.build();
        }).collect(toList());
    }
}

write on 2017-1-4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,888评论 25 709
  • 饭后无事,看到厨房放了几天的黄瓜,食之无味,弃之可惜。干脆用它做个面膜吧,我把它切的薄薄的贴在脸上,躺在床上等它2...
    吕玥妈咪阅读 1,092评论 0 3
  • 文/李晓 要说吧,刚子每个月的零花钱都花在哪里了,既不是花在买吃的上面,也不是花在买喝的上面,对于一个小学六年级的...
    adaya阅读 3,873评论 3 4
  • 在这个竞争激烈,快速发展的时代,无数的人被时代的浪潮紧逼着逃离。 买不起的房子,给不起的房租,还有需要物质和爱情的...
    小影同学阅读 2,532评论 0 0