问题如下--有一个大学校园范围的wifi连接一个单一的SSID,比如“校园wifi”。用户在校园里自由漫游,接入点之间通常会发生切换.我的问题是,在网络堆栈的任何一层,是否有任何信息允许客户端识别它们连接到的特定访问点(任何唯一标识符都可以),而不仅仅是它们连接到“校园wifi”这一事实?
如果是相关的话,我希望能够通过移动设备(主要是android/iOS)做到这一点。
发布于 2011-04-12 02:28:11
您可以获得连接到的访问点的BSSID。类似于:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String BSSID = info.getBSSID();由于我从未使用过BSSID,所以不能100%地使用BSSID --但是它应该唯一地标识基站-- Wikipedia似乎表明您将获得AP的MAC (接近底部):
http://en.wikipedia.org/wiki/Service_set_(802.11_network)#Basic_service_set_identifier_.28BSSID.29
--丹
编辑:
根据Android文档,它是MAC地址:
http://developer.android.com/reference/android/net/wifi/WifiInfo.html
https://stackoverflow.com/questions/5629665
复制相似问题