1

問題は次のとおりです。「キャンパス-wifi」と言う単一のSSIDを持つ大学キャンパス全体のwifi接続があります。ユーザはキャンパス内を自由に移動し、アクセス ポイント間で通常のハンドオフが発生します。私の質問は、単に「キャンパスに接続されている」という事実ではなく、クライアントが接続されている特定のアクセス ポイントを識別できるようにする情報 (任意の一意の識別子で問題ありません) が、ネットワーク スタックの任意の層にあるかどうかです。 -Wi-Fi"?

関連する場合は、モバイル デバイス (主に Android/iOS) からこれを実行できるようにしたいと考えています。

4

1 に答える 1

6

接続しているアクセスポイントの BSSID を取得できます。何かのようなもの:

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

BSSID を使用したことがないため、100% ではありませんが、基地局を一意に識別する必要があります。ウィキペディアは、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

于 2011-04-12T02:28:11.633 に答える