Цикл непрерывно между указанным диапазоном Java
Я делаю Java-приложение, которое перебирает мою таблицу DHCP и пытается подключиться к нескольким устройствам. Я перебираю диапазон 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);
}
}
1 ответ
Решение
Если ваш цикл должен быть бесконечным, вы можете использовать for(;;)
или while(true)
петля.
Когда будет достигнут конец диапазона, просто перезагрузите startAsIP
на основе startIP
значение:
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);
}
}