Wlan SSID в Java / C ++ - PullRequest
       16

Wlan SSID в Java / C ++

0 голосов
/ 14 марта 2012

Есть ли способ получить информацию о WLAN, например SSID, мощность сигнала и т. Д. В Java или C ++?

Я знаю о функции wlanscan в C ++. Может ли кто-нибудь дать мне пример того, как это реализовать?

Существует также jwlanscan API для Java, но он не работает для меня.

ОС: Windows 7

Любая помощь будет оценена. Спасибо!

EDIT:

        {
            System.loadLibrary("wireless"); 
        }
        List list = getNetworkAdapterInfo();
        if (list == null)
            System.out.println("None Network Adapter.");
        else
            for (Iterator ite = list.iterator(); ite.hasNext(); )
            {
                NetworkAdapterInfo nic = (NetworkAdapterInfo)ite.next();
                System.out.println(nic.toString());
                List listap = getWirelessApInfo(nic.getName());
                if (listap == null) {
                    System.out.println("None Access Point.");
                }
                else {
                    System.out.println("Access Point:");
                    for (Iterator ite1 = listap.iterator(); ite1.hasNext(); )
                    {
                        WirelessApInfo ap = (WirelessApInfo)ite1.next();
                        System.out.println(ap.toString());
                    }
                }
                System.out.println("");
            }

Пока у меня есть этот код (jwlanscan api). Точка доступа не возвращается.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

После некоторых поисков я получил ответ сам. :)

WLAN API для получения сигнала

Этот код C ++ отображает всю необходимую информацию WLAN.

0 голосов
/ 14 марта 2012

следующие записи подробно о том, как создать объект WLAN и получить доступ к необходимой информации

Как найти список беспроводных сетей (SSID) в Java, C # и / или C?

    WlanClient client = new WlanClient(); 
foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces ) 
{ 
    // Lists all available networks 
    Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 ); 
    foreach ( Wlan.WlanAvailableNetwork network in networks ) 
    {                      
        Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid)); 
    } 
} 

static string GetStringForSSID(Wlan.Dot11Ssid ssid) 
{ 
    return Encoding.ASCII.GetString( ssid.SSID, 0, (int) ssid.SSIDLength ); 
} 

ОБНОВЛЕНИЕ:

ОК, мой плохой,

Полагаю, что для wlan-соединений нет нативных Java-API.Единственный способ сделать это - пройти через нативный API OS и получить информацию.

...