Я создал кусок кода, который принимает IP-адрес (от основного метода в другом классе), а затем проходит через диапазон IP-адресов, пинговая каждый из них по мере его поступления. У меня есть интерфейс GUI на этом, и он сбой (следовательно, почему я сделал многопоточность. Моя проблема в том, что я больше не могу принимать IP-адрес в качестве аргумента в своем пинговом коде как его вызываемый. для этого и не может найти способ обойти это. Есть ли способ для вызываемого метода принимать аргументы? Если нет, есть ли другой способ выполнить то, что я пытаюсь сделать?Есть ли способ принять аргумент в вызываемом методе?
образец моего код:.
public class doPing implements Callable<String>{
public String call() throws Exception{
String pingOutput = null;
//gets IP address and places into new IP object
InetAddress IPAddress = InetAddress.getByName(IPtoPing);
//finds if IP is reachable or not. a timeout timer of 3000 milliseconds is set.
//Results can vary depending on permissions so cmd method of doing this has also been added as backup
boolean reachable = IPAddress.isReachable(1400);
if (reachable){
pingOutput = IPtoPing + " is reachable.\n";
}else{
//runs ping command once on the IP address in CMD
Process ping = Runtime.getRuntime().exec("ping " + IPtoPing + " -n 1 -w 300");
//reads input from command line
BufferedReader in = new BufferedReader(new InputStreamReader(ping.getInputStream()));
String line;
int lineCount = 0;
while ((line = in.readLine()) != null) {
//increase line count to find part of command prompt output that we want
lineCount++;
//when line count is 3 print result
if (lineCount == 3){
pingOutput = "Ping to " + IPtoPing + ": " + line + "\n";
}
}
}
return pingOutput;
}
}
IPtoPing раньше аргумент, что было принято
так .... это не будет работать, если вы передаете Callable в качестве параметра другой функции, которая пытается перебирать отзывной против массива аргументов он был принят ... – Michael
Является ли это заговор или вопрос? В любом случае, я не могу понять, что вы заявляете/спрашиваете. –