JAVA使用list集合,for循环Ping多个主机IP

该Java程序创建了一个IPBean类来存储IP地址和名称,然后构建了一个IP列表并遍历它,使用InetAddress的isReachable方法检查每个IP是否可达。若在5000毫秒内未收到响应,则认为主机无法访问。程序强调了思路和编程思想的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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工程师,我深知技术突破的重要性,工作当中技术手段往往不是最难的,思路和编程思想才是最可贵的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值