本人想实现如下一个功能:服务器开机后,自动检测本网段中的各主机是否处于开机状态。
初步一个想法是,服务器调用PING命令,循环PING本网段内的各主机,PING通则该机处于开机状
问题:1、不知如何在JAVA语言中调用PING命令
2、如在网段主机中有防火墙,PING不通的情况下如何获知主机是否开机非常急切的盼望各位DX帮忙,非常非常感谢!
初步一个想法是,服务器调用PING命令,循环PING本网段内的各主机,PING通则该机处于开机状
问题:1、不知如何在JAVA语言中调用PING命令
2、如在网段主机中有防火墙,PING不通的情况下如何获知主机是否开机非常急切的盼望各位DX帮忙,非常非常感谢!
解决方案 »
- 怎么配置jdk的环境变量了
- java上传图片,怎么处理图片的大小和缩放
- 高分求swing的日期控件 謝謝××××××××××××××××××××××××××××××××××××××××××
- JFace使用SourceViewer,对其rule标尺进行绘图操作出现问题??急,本人在等待
- 关于Long类型声明的问题
- 如何在本程序窗口外读取光标位置?
- 关于执行SQL语句的问题
- 各位大虾请帮忙,jb6中怎样得到一个Jpasswordfield的原始值
- 谁那有JBuilder6 Personal版的Serial Number 和 Key,我进不了Borland主页申请。
- 怎样用Comparator比较文件的大小
- java有没有读取文本文件里某一行的命令啊
- 问个问题~高手帮帮忙~谢谢!
但如何判别结果呢?难道是用字符串匹配的方法吗?
还要请高人解,非常感谢
BufferedInputStream bis = new BufferedInputStream(prs.getInputStream());
InputStreamReader reader = new InputStreamReader(bis, "UTF-8");
然后自己分析
那第二个问题呢?有没有什么好的解决方式呢?
再次感谢!
* Ping.java
*
* Created on 2007年7月3日, 下午2:44
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/package pingtest;import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;/**
*
* @author tommy
*/
public class Ping
{
public Ping()
{
for(int i =0;i<255;i++)
result[i] = 0;
}
public void scan()
{
for(int i=70;i<85;i++)
{
String tmp = exec + i; try
{
Process pr = Runtime.getRuntime().exec(tmp);
BufferedReader br = new BufferedReader(new InputStreamReader(pr.getInputStream()));
while (true)
{
String s = br.readLine();
if(s==null)
break;
if (s.contains("TTL"))
result[i] = 1;
System.out.println(s);
}
br.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
public static void main(String args[])
{
Ping a = new Ping();
a.scan();
for(int i =0;i<255;i++)
System.out.println("result["+i+"] = "+a.result[i]);
}
private static String exec = new String("cmd /c ping 100.3.3.");
public int[] result = new int[255];
}