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();
}
}
}
类:java.net.InetAddress
方法:isReachable()和getHostName();
没有多线程,会很慢的.255s
enjoy it!
分享到:
相关推荐
- **主机可达性**:`isReachable()`方法用于测试两台主机之间是否可以通信,通常用于简单的网络诊断。 #### Socket通信机制 Java中的`Socket`类用于实现TCP/IP通信,提供了发送和接收数据的功能: 1. **建立连接*...
`ping()`方法调用`isReachable(int timeout)`来检查目标主机是否可达。该方法通过尝试建立到目标主机的连接(默认是echo端口)并在指定的超时时间内等待响应来判断连通性。 **5. 编程环境与工具** 选择Eclipse作为...
`InetAddress.getByName()`用于将主机名解析为IP地址,然后调用`isReachable(TimeOut)`判断目标主机是否可达,如果在指定的超时时间内收到回应,则返回`true`。延迟`delay`是通过比较发送请求和接收到回应的时间戳...
16. **网络通信工具类**:如`NetUtils`,提供了IP地址、端口等网络相关的操作,如`getLocalHost()`获取本地主机名,`isReachable()`检查网络是否可达。 17. **内存管理工具类**:如`MemoryUtils`,帮助开发者监控和...
第一种方法直接使用InetAddress的isReachable方法,这种方法简单但不提供详细的响应信息。第二种方法通过Runtime类执行系统级的ping命令,然后读取输出结果,这种方法可以获取更丰富的信息,如丢包率和往返时间。 ...