Tôi đã tạo một đoạn mã lấy địa chỉ IP (từ phương thức chính trong một lớp khác) và sau đó lặp qua một loạt các địa chỉ IP ping từng địa chỉ khi nó đi. Tôi có một giao diện người dùng GUI về điều này và nó đã bị lỗi (vì vậy tại sao tôi đã thực hiện đa luồng. Vấn đề của tôi là tôi không còn có thể lấy địa chỉ IP như một đối số trong mã ping của tôi như là nó có thể gọi được. cho điều này và không thể dường như tìm một cách để có được vòng này.Có cách nào cho một phương pháp gọi để có đối số? Nếu không có cách nào khác để thực hiện những gì tôi đang cố gắng làm gì?Có cách nào để đưa ra một đối số trong một phương thức có thể gọi được không?
mẫu của tôi mã số:.
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 từng là lập luận cho rằng đã được đưa
vậy .... điều này sẽ không hoạt động nếu bạn vượt qua Callable như một tham số để một chức năng mà cố gắng để lặp các Callable đối với một loạt các đối số đã được thông qua ... – Michael
Đây có phải là tuyên bố hoặc câu hỏi không? Dù bằng cách nào, tôi không thể tìm ra những gì bạn đang nói/hỏi. –