一个程序,要求获得本地IP地址:
[coolcode lang=”java”]
import java.net.InetAddress;
import java.net.UnknownHostException;
public class NsLookup {
static public void main(String[] args) {
try {
InetAddress address = InetAddress.getLocalHost();
System.out.println(address.toString().split(“/”)[1].toString());
String name = address.getHostName();
System.out.println(name);
InetAddress[] addresses = InetAddress.getAllByName(name);
for(int i=0;i<addresses.length;i++){
System.out.println(addresses[i].toString().split(“/”)[1].toString());
}
catch(UnknownHostException uhe) {
System.err.println(“Unable to find IP”);
}
}
}
[/coolcode]
在windows下很正常:
173.26.100.174
ibmtc-marvel
173.26.100.174
192.168.0.1
linux下出现问题:
46和18的结果为:
127.0.0.1
ftp.cs.hit.edu.cn/ibmtc
127.0.0.1
即只获得了本地的环回地址,而没有获得其他的IP
而19更加神奇:
202.118.250.20
dns.cs.hit.edu.cn
202.118.250.20
出来的IP地址是另外一台机器的,不是何故
这个问题似乎与一台机器的IP个数无关,单IP和多IP的主机都会出现这个问题.有没 有兄弟懂这个的?