java版的.检测主机在线,没有多线程,主要是学习这个函数.
代码:
/**
*@(#)GreenPing.java
*
*
*@author
*@version1.002007/10/27
*/
importjava.net.*;//javanetclass
importjava.io.*;
publicclassGreenPing{
/**
*Createsanewinstanceof<code>GreenPing</code>.
*/
publicGreenPing(){
}
/**
*@paramargsthecommandlinearguments
*/
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
try{
intcount=0;
System.out.println("正在检测,请等待:");
for(inti=1;i<244;i++)
{
StringT="10.16.20."+i;
System.out.print('=');
InetAddressaddress=InetAddress.getByName(T);
if(address.isReachable(1000))//1000ms
{
count++;
System.out.print(" ");
System.out.println("IP地址:"+T+"主机名:"+address.getHostName());
}
}
System.out.println(" 共发现主机:"+count);
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
*@(#)GreenPing.java
*
*
*@author
*@version1.002007/10/27
*/
importjava.net.*;//javanetclass
importjava.io.*;
publicclassGreenPing{
/**
*Createsanewinstanceof<code>GreenPing</code>.
*/
publicGreenPing(){
}
/**
*@paramargsthecommandlinearguments
*/
publicstaticvoidmain(String[]args){
//TODOcodeapplicationlogichere
try{
intcount=0;
System.out.println("正在检测,请等待:");
for(inti=1;i<244;i++)
{
StringT="10.16.20."+i;
System.out.print('=');
InetAddressaddress=InetAddress.getByName(T);
if(address.isReachable(1000))//1000ms
{
count++;
System.out.print(" ");
System.out.println("IP地址:"+T+"主机名:"+address.getHostName());
}
}
System.out.println(" 共发现主机:"+count);
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
类:java.net.InetAddress
方法:isReachable()和getHostName();
没有多线程,会很慢的.255s
enjoy it!
本文介绍了一个简单的Java程序GreenPing,用于检测局域网内主机是否在线。该程序使用InetAddress类的方法isReachable()判断主机可达性,并通过getHostName()获取主机名。注意程序未采用多线程,执行效率较低。
1791

被折叠的 条评论
为什么被折叠?



