java获取本机IP出现异常的问题
我在编写JAVA的应用程序的时候,本机有两块网卡,一块是内网ip:192.168.0.1,另一块是绑定了adsl拨号程序,我希望知道机器是否在线,执行一切正常,如果我不在线,将一直打印出offline,但是,即使我又重新上线了,还是打印offline,反之,本来我在线,程序将一直打印online,但是,即使我断线,还是打印online,代码如下,请问问题出在什么地方,谢谢
import java.io.*;
import java.net.*;
public class serve
{
public static void main (String args[]) throws Exception
{
while (true){
//判断本机地址有一个还是两个
if (getLocalIPs().length==1)
System.out.println("offline");
else{
System.out.println("online");
}
Thread.sleep(20000);
}
}
//获取本机IP的方法
public static InetAddress[] getLocalIPs()
{
InetAddress[] mArLocalIP = null;
if(mArLocalIP == null)
{
try
{
mArLocalIP = InetAddress.getAllByName(InetAddress.getLocalHost().getHostName());
}
catch(Exception e)
{System.out.println("getHostIP error");}
}
return mArLocalIP;
}
}