способы для клиента определить конкретную точку доступа, к которой он подключен в рамках одного SSID? - PullRequest
1 голос
/ 12 апреля 2011

Проблема заключается в следующем - есть широкое Wi-Fi соединение университетского городка с одним SSID, скажем, "кампус-Wi-Fi".Пользователь свободно перемещается по кампусу, и происходит обычная передача обслуживания между точками доступа.У меня вопрос, есть ли какая-либо информация на любом уровне сетевого стека, которая позволяет клиенту идентифицировать (подходит любой уникальный идентификатор) конкретную точку доступа, к которой они подключены, а не просто тот факт, чтоони подключены к "campus-wifi"?

Если это актуально, я бы хотел сделать это с мобильных устройств (в первую очередь, для Android / iOS).

1 Ответ

6 голосов
/ 12 апреля 2011

Вы можете получить BSSID точки доступа, к которой вы подключены. Что-то вроде:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String BSSID = info.getBSSID();

Не на 100% то, что вы получите с BSSID, поскольку я никогда не использовал его - но он должен уникально идентифицировать базовую станцию ​​- Википедия, кажется, указывает, что вы получите MAC-адрес точки доступа (рядом внизу):

http://en.wikipedia.org/wiki/Service_set_(802.11_network)#Basic_service_set_identifier_.28BSSID.29

- Дан


EDIT:

Согласно документации для Android, это MAC-адрес:

http://developer.android.com/reference/android/net/wifi/WifiInfo.html

...