Проблема заключается в следующем: там университетский университет с широким Wi-Fi соединением с одним SSID, скажем, "campus-wifi". Пользователь свободно перемещается по территории кампуса, и происходит обычное переключение между точками доступа. Мой вопрос: есть ли какая-либо информация на любом уровне сетевого стека, которая позволяет клиенту идентифицировать (какой-либо уникальный идентификатор в порядке) конкретную точку доступа, к которой они подключены, а не просто тот факт, что они связаны с "кампусом" -WiFi "?
Если это актуально, я хотел бы иметь возможность сделать это с мобильных устройств (в первую очередь, android/iOS).
Вы можете получить BSSID точки доступа, к которой вы подключены. Что-то вроде:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String BSSID = info.getBSSID();
Не 100%, что вы вернетесь с BSSID, так как я никогда не использовал его, но он должен однозначно идентифицировать базовую станцию. Википедия, похоже, указывает, что вы получите MAC AP (около внизу):
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