java - 如果我位于不同的网络/域中,是否可以使用计算机名称而不是 IP?

标签 java dns ip

我有一个计算机名称列表,并且必须创建一个相应的 IP 地址列表。这是通过这样的方式完成的:

        Iterator<String> iter = listWithComputerNames.iterator();
        while (iter.hasNext()) {
            String curName = iter.next();
            String ipAdress = "";
            try {
                InetAddress address = InetAddress.getByName(curName );
                ipAdress = address.getHostAddress();
            }
        }

如果我在与所有其他计算机相同的域中运行该程序,则此方法有效。但是,我想在服务器上将其作为批处理作业运行,该服务器位于不同的域中(但仍然是相同的本地网络!)。

由于两个域都在一个公司内,并且计算机可以使用 IP 相互通信,所以我想知道是否有可能明确告诉我的计算机名称来自不同的域:类似于 name.domain.local,这样即使来自不同的域,它也可以解析为 IP。有谁知道其中的窍门吗?

最佳答案

InetAddress giriAddress = java.net.InetAddress.getByName("com.named.domain");

然后,如果您希望 IP 作为字符串

String address = giriAddress.getHostAddress();

您可以在本地环境中使用它来更新某种数据库,如果服务器需要 IP 地址,则可以访问该数据库,或者更好地将其公开为 Web 服务

关于java - 如果我位于不同的网络/域中,是否可以使用计算机名称而不是 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58994648/

相关文章:

java - 需要 HashMap 方面的帮助吗?

apache - 主机名在另一个 Tomcat 服务器上不工作

objective-c - 如果不是主机 IP,CFSocketSetAddress 会失败吗?

php - 使用 INET_ATON 存储 IP - 有符号或无符号整数?

java - 每个敌人的生命值

java - 跳过 for 循环中的一次迭代

apache - Java 重定向 + 域

linux - 路由表中带问号的路由

java - 页面滚动时滚动模态框

Firebase:无法验证 Namecheap 域的所有权