在指定范围内不断循环java

Loop continuously between a specified range java

我正在制作一个 Java 应用程序,它将通过我的 DHCP table 循环并尝试连接到多个设备。我在一个 IP 范围内循环,但我想在该范围内不断循环,直到应用程序关闭。 连续循环的最佳实践是什么?将 startip 的值设置两次,然后在达到最大范围后将 startip 设置回原始值?以下是我目前拥有的:

public void loopFTP(String startIP, String endIP, int timeout) throws SocketException, IOException {
    InetAddress startAsIP = InetAddresses.forString(startIP);
    InetAddress endAsIP = InetAddresses.forString(endIP);
    while(InetAddresses.coerceToInteger(startAsIP) <= InetAddresses.coerceToInteger(endAsIP)){
        System.out.println(startAsIP);
        attemptConnection(startAsIP, timeout);
        startAsIP = InetAddresses.increment(startAsIP);

    }
}

如果您的循环应该是无限的,您可以使用 for(;;)while(true) 循环。

到达范围末尾时,只需根据 startIP 值重置 startAsIP :

public void loopFTP(String startIP, String endIP, int timeout) throws SocketException, IOException {
    InetAddress startAsIP = InetAddresses.forString(startIP);
    InetAddress endAsIP = InetAddresses.forString(endIP);
    while(true){

        System.out.println(startAsIP);
        attemptConnection(startAsIP, timeout);

        if(InetAddresses.coerceToInteger(startAsIP) <= InetAddresses.coerceToInteger(endAsIP))
            startAsIP = InetAddresses.increment(startAsIP);
        else
            startAsIP = InetAddresses.forString(startIP);


    }
}