我有一个计算机名称列表,并且必须创建一个相应的 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/