Пинговать пока не выполнится условие
Как пинговать локалхост до наступления условия? Так пока не работает.
package ping;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.io.File;
public class ping {
public void checkPing() throws IOException {
Process ping = Runtime.getRuntime().exec("ping -n 10 localhost");
ping.waitFor();
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
try {
if () checkPing(); }
catch (Exception e) {
//System.out.println(e);
}
} }
Ответы (2 шт):
Автор решения: Andrew
→ Ссылка
Вот например использование метода проверки пинга:
public void checkPing(){
Process ping = Runtime.getRuntime().exec("ping -n 10 localhost");
ping.waitFor();
if(condition){
}else{
checkPing();
}
}
либо через while/do-while:
do {
// code block to be executed
}
while (condition);
Вот тут можно чекнуть. Вот тут про рекурсию можно прочитать. По поводу ввода новой переменной - сделайте глобальную переменную в классе, присвойте ей значение и запускайте пинг. Не факт что прям идеальное решение, но я так понимаю :)
Автор решения: rtuf20
→ Ссылка
Повторно послать ping можно так
Process ping = Runtime.getRuntime().exec("ping -n 2 localhost");
ping.waitFor();
for(int i = 0; i < 10; i++) {
ping = Runtime.getRuntime().exec("ping -n 5 localhost");
ping.waitFor();
System.out.println(i);
}