日期:2014-05-20  浏览次数:20742 次

查看局域网在线IP的java源代码
老师布置的任务:统计校园网内在线机子的数量,并将这些在线机子的IP输入到数据库!之后检测这些在线IP是否提供web服务或ftp服务!只针对windows平台或linux平台求源代码啊!!!!java源代码!不要批处理文件!
java 局域网 源代码 windows web服务

------解决方案--------------------
随便写了一个,添加了线程池,写的有点乱,就这个意思,你凑合看。

public class Test {
public static void main(String[] args) {
int ips[] = new int[] { 192, 168, 85, 0 };

for (int i = 1; i < 255; i++) {
String ip = ips[0] + "." + ips[1] + "." + ips[2] + "." + i;
while (!runPT(ip)) {
try {
Thread.sleep(10);
} catch (Exception e) {
}
}
// System.out.println("start "+ip);

}

}

public static class PingThread extends Thread {
private String ip;
private boolean running;

public String getIp() {
return ip;
}

public void setIp(String ip) {
this.ip = ip;
}

public boolean isRunning() {
return running;
}
public void setRunning(boolean running) {
this.running = running;
}
public PingThread() {
}

@Override
public void run() {
while (true) {
synchronized (this) {
// running = true;
try {
if (ip != null) {
String cmd = "ping -c 4 " + ip;
String key = "bytes from " + ip;
// System.out.println(cmd);
boolean pingok = false;
java.lang.Process p = java.lang.Runtime
.getRuntime().exec(cmd);
java.io.InputStream is = p.getInputStream();
java.io.BufferedReader br = new java.io.BufferedReader(
new java.io.InputStreamReader(is));