我正在嘗試使用Java獲取無線網絡設備的SSID。我嘗試了官方網絡教程http://java.sun.com/docs/books/tutorial/networking/nifs/retrieving.html,但getDisplayName()getName()不返回SSID。有沒有辦法得到一個確切的SSID?另外,我還試圖讀取我所有網絡設備的無線信號強度,並找不到一種方法。任何人都可以請指示我從哪裏獲得所有這些信息(教程,代碼示例等)?使用Java獲取無線網絡的SSID和其他信息
感謝
我正在嘗試使用Java獲取無線網絡設備的SSID。我嘗試了官方網絡教程http://java.sun.com/docs/books/tutorial/networking/nifs/retrieving.html,但getDisplayName()getName()不返回SSID。有沒有辦法得到一個確切的SSID?另外,我還試圖讀取我所有網絡設備的無線信號強度,並找不到一種方法。任何人都可以請指示我從哪裏獲得所有這些信息(教程,代碼示例等)?使用Java獲取無線網絡的SSID和其他信息
感謝
你看到這個jWlanScan
這不能用純Java來完成。 Java API可以使您在網絡堆棧中的層次低至NetworkInterface,但不會更低。當連接到WiFi網絡時,所有SSID,握手和安全措施都會在比這更低的級別完成 - 即您的平臺相關驅動程序。 Java API(自Java7起)不會讓你更接近這些信息;你將不得不使用一些與平臺相關的代碼。
這是代碼示例,其中當前連接的無線SSID從CMD
ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", "netsh wlan show interfaces");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line.contains("SSID")){
// do something
}
}
該行無法讀取,返回nullpointerexception – 2015-06-04 11:40:31
此代碼返回'NullPointerException'。 – 2017-12-08 19:46:18
是回來了!但它似乎取決於平臺。它也使用dll擴展。我正在尋找完全是java的東西(沒有任何Windows特定dll) – newbie 2009-11-20 19:14:06
64位用戶可能會遇到以下錯誤:嘗試訪問「無法在AMD 64位平臺上加載IA 32位.dll」使用庫。 – Axoren 2014-08-02 00:15:49