0
Java를 사용하여 신호 강도가있는 인근 BSSID를 가져와야합니다. netsh wlan show networks mode=BSSID
의 출력과 같은 것입니다.가까운 BSSID 및 Java의 신호 강도를 얻으십시오
가능합니까?
Java를 사용하여 신호 강도가있는 인근 BSSID를 가져와야합니다. netsh wlan show networks mode=BSSID
의 출력과 같은 것입니다.가까운 BSSID 및 Java의 신호 강도를 얻으십시오
가능합니까?
다음과 같은 방법을 구현해보십시오. (물론 cmd 문자열에있는 명령은 윈도우 운영 체제에만 해당됩니다.)
"wlanResults.append ("... ");" 단지 결과을 gui의 jTextArea에 쓰는 것입니다 (이것은 내가 작업중인 프로그램의 일부입니다).
public void getWLANbssidInfo(){
String cmd = "netsh wlan show network mode=bssid";
try {
Process p3;
p3 = Runtime.getRuntime().exec("cmd /c " + cmd);
p3.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p3.getInputStream()));
String line = reader.readLine();
while(line!=null){
wlanResults.append(line + "\n");
System.out.println(line);
line = reader.readLine();
}
} catch (IOException ex) {
wlanResults.append("Comand error\n" + ex);
System.out.println("There was an IO exception.");
} catch (InterruptedException ex) {
wlanResults.append("Command was interrupted: " + ex);
System.out.println("The command was interrupted.");
}
}
"가능한가요?" 예. "쉬운 일인가?" 아마도 그렇지 않습니다. 이것은 아마도 플랫폼 특정 코드를 필요로 할 것이므로 어떤 플랫폼을 위해? 당신의 주어진 명령이 플랫폼에서 작동합니까? 그렇다면'ProcessBuilder'로 실행할 수 있습니다. –
Windows, 대부분, 대부분. 예,이 명령은 Windows에서 작동하지만 가능하면 순수한 Java 솔루션이 필요합니다. 귀하의 의견을 보내 주셔서 감사합니다! –
일부 JNI 코드가 없으면 "순수 Java"솔루션이 불가능할 가능성이 높으므로 플랫폼 별입니다. 가장 좋은 방법은 Windows에서'ProcessBuilder'를 통해'netsh '를 사용하는 것입니다. 여러분이 목표로해야 할 다른 OS에 대해 비슷한 메커니즘을 찾는 것입니다. –