【发布时间】:2020-03-18 13:11:53
【问题描述】:
我有一个计算机名称列表,我必须创建一个相应 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。有谁知道诀窍吗?
【问题讨论】:
-
您从哪里获得计算机名称列表?这些名字长什么样?它们是带有域名的完全限定名称吗?如果不是,它们是否都存在于同一个域名中,这样您就可以将域名附加到每个计算机名称中?
-
您可以按照填充 listWithComputerNames 的方式执行此操作,而是填充 listWithComputerIps。
-
我的同事向我提供了他们的计算机名称。我们尝试了计算机名称和完全限定名称,但服务器无法解析它们。 @Karim 我不知道 IP,因为它们会随着时间而改变,计算机名称不会。
-
我在开玩笑,检查我的答案,如果服务器无法访问域名,这是一个可能的解决方案