精品文档---下载后可任意编辑概述 WIFI 就是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网;常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采纳 WIFI 连接方式进行联网,假如无线路由器连接了一条 ADSL 线路或者别的上网线路,则又被称为“热点”。运作原理 Wi-Fi 的设置至少需要一个 Access Point(ap)和一个或一个以上的 client(hi)。AP 每 100ms 将SSID(Service Set Identifier)经由 beacons(信号台)封包广播一次,beacons 封包的传输速率是 1 Mbit/s,并且长度相当的短,所以这个广播动作对网络效能的影响不大。因为 Wi-Fi 规定的最低传输速率是 1 Mbit/s ,所以确保所有的 Wi-Fi client 端都能收到这个 SSID 广播封包,client 可以借此决定是否要和这一个 SSID 的AP 连线。使用者可以设定要连线到哪一个 SSID。Wi-Fi 系统总是对用户端开放其连接标准,并支援漫游,这就是 Wi-Fi 的好处。但亦意味着,一个无线适配器有可能在性能上优于其他的适配器。由于 Wi-Fi 通过空气传送信号,所以和非交换以太网有相同的特点。 近两年,出现一种 WIFI over cable 的新方案。此方案属于 EOC(ethernet over cable)中的一种技术。通过将 2.4G wifi 射频降频后在 cable 中传输。此种方案已经在中国大陆小范围内试商用。二:Wifi 模块的初始化::在 SystemServer 启动的时候,会生成一个 ConnectivityService 的实例,try {Log.i(TAG, "Starting Connectivity Service.");ServiceManager.addService(Context.CONNECTIVITY_SERVICE, newConnectivityService(context));} catch (Throwable e) {Log.e(TAG, "Failure starting Connectivity Service", e);}ConnectivityService 的构造函数会创建 WifiService,if (DBG) Log.v(TAG, "Starting Wifi Service.");mWifiStateTracker = new WifiStateTracker(context, handler);WifiService wifiService = new WifiService(context, mWifiStateTracker);ServiceManager.addService(Context.WIFI_SERVICE, wifiService);WifiStateTracker 会创建 WifiMonitor 接收来自底层的事件,WifiService 和 WifiMonitor 是整个模块的核心。WifiService 负责启动关闭 wpa_supplicant、启动关闭 WifiMonitor 监视线程和把命令下发给 wpa_supplicant,而 Wi...