Utworzyłem fragment kodu, który pobiera adres IP (z głównej metody w innej klasie), a następnie wykonuje pętle z zakresu adresów IP, wysyłając polecenia ping do każdego z nich. Mam przedni interfejs GUI i to się zawiesiło (stąd dlaczego zrobiłem wielowątkowość.) Mój problem polega na tym, że nie mogę dłużej przyjmować adresu IP jako argumentu w moim kodzie ping jako jego wywoływania. do tego i nie może wydawać się znaleźć sposób to obejść.Czy istnieje sposób na metodę wywoływalne do podjęcia argumentów? Jeśli nie jest jakiś inny sposób, aby wykonać to, co próbuję zrobić?Czy istnieje sposób na podjęcie argumentu w metodzie wywoływalnej?
próbka mojego Kod:.
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 kiedyś tezę, że została podjęta
tak .... to nie będzie działać, jeśli przekazać Callable jako parametr do innej funkcji, która dociera do iteracyjne Callable w stosunku do szeregu argumentów, które zostały przekazane ... – Michael
Czy jest to przeznaczone jako oświadczenie lub pytanie? Tak czy inaczej, nie mogę dowiedzieć się, co mówisz/pytasz. –