package main;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.List;
public class Text {
public static void main(String[] args) throws IOException {
Text test = new Text();
List<IPBean> ipList = test.getIPList();
for (IPBean ip : ipList) {
InetAddress geek = InetAddress.getByName(ip.getIpAddr());
System.out.println("Sending Ping Request to " + ip.getIpAddr());
if (geek.isReachable(5000)) {
System.out.println(ip.getName() + "-主机可访问");
} else {
System.err.println(ip.getName() + "-主机无法访问");
}
}
}
public List<IPBean> getIPList() {
List<IPBean> list = new ArrayList<>(8);
IPBean ip1 = new IPBean("T0", "10.72.165.122");
IPBean ip2 = new IPBean("T1", "10.72.165.225");
IPBean ip3 = new IPBean("T2", "10.72.164.28");
IPBean ip4 = new IPBean("C1", "10.72.166.232");
IPBean ip5 = new IPBean("C2", "10.72.167.252");
IPBean ip6 = new IPBean("C3", "10.72.165.232");
IPBean ip7 = new IPBean("IRS", "10.72.20.93");
IPBean ip8 = new IPBean("DX", "10.72.24.175");
list.add(ip1);
list.add(ip2);
list.add(ip3);
list.add(ip4);
list.add(ip5);
list.add(ip6);
list.add(ip7);
list.add(ip8);
return list;
}
class IPBean {
String name;
String ipAddr;
public IPBean(String name, String ipAddr) {
this.name = name;
this.ipAddr = ipAddr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIpAddr() {
return ipAddr;
}
public void setIpAddr(String ipAddr) {
this.ipAddr = ipAddr;
}
}
}
使用List方法,将IP存进去之后,用for循环进行遍历,无法Ping通的IP,会在设置的5000毫秒后超时,这个TCP的握手协议,时间可以自己调整,一般都是3000毫秒到5000毫秒
下面是运行结果:
作为一名资深的ctrl + c工程师,我深知技术突破的重要性,工作当中技术手段往往不是最难的,思路和编程思想才是最可贵的;