java - InetAddress getAllByName 不管理主机条目中提到的返回 IP 地址的顺序

标签 java linux networking inetaddress

我的主机条目如下:

    10.106.1.188 myhost
    192.168.0.156 myhost
    192.168.0.160 myhost
    192.168.0.150 myhost
    10.106.1.121 myhost
    10.106.1.110 myhost

我使用以下代码从主机条目中获取所有 IP 地址

InetAddress[] addresses = InetAddress.getAllByName("myhost");
    for( InetAddress address : addresses) {
        System.out.println(address);
    }

问题是上面的代码没有管理 IP 地址顺序。

在 Windows 7 上运行上述程序时它工作正常但在 linux 机器上它不管理顺序

最佳答案

我建议使用 Comparator 来为您排序 IP 地址。否则你会得到平台相关的结果。这是一个例子 http://thilosdevblog.wordpress.com/2010/09/15/sorting-ip-addresses-in-java/ 此示例保持 Ordering 不变。

关于java - InetAddress getAllByName 不管理主机条目中提到的返回 IP 地址的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27010388/

相关文章:

linux - 在 vagrant 上排序需要 2 小时 - 大约 100m 行

c - 服务器程序卡在发送处

java - 如何在 Java 和 C 中使用 GnuTLS

java - ActiveMQ NIO 配置

java - 在 Jdeveloper 12.2.1 Maven 项目中指定上下文根

linux - Perl inotify2 每次文件修改触发两次

linux - Bash find 命令未在深度优先搜索中运行

使用 WSAWaitforMultipleEvents() 的非阻塞套接字函数的概念

java - 读取一个字符行到数组直到下一行JAVA

java - 将数据库更改单独提交到主事务