1、wifi系統的層次結構
可以從下面看出分為3層:
平台API
android系統
硬體和驅動
2、wifi的系統結構
(1)Android.net.wifi包作為Android平台的API供Java應用程式層使用
(2)wifi的JNI(Java Native Interface)
提供了若幹的API實作了Java和其他語言的通信(主要是C&C++)。
(3)WPA(Wi-Fi Protected Access,中文名“wifi網絡安全存取”)擴充卡層
定義很多字元串變量和适配層的接口實作,是對wpa_supplicant程式通信的接口封裝,用來完成上層和wpa_supplicant的通信
(4)wpa_supplicant(supplicant是懇求者的意思)守護程序
Wpa_supplicant是Linux系統下一個非常強大的無線網卡管理程式
通過socket(不管是wpa_supplicant與上層還是wpa_supplicant與驅動都采用socket通訊)與驅動互動上報資料給使用者,而使用者可以通過socket發送指令給wpa_supplicant調動驅動來對WiFi晶片操作。 簡單的說,wpa_supplicant就是WiFi驅動和使用者的中轉站外加對協定和加密認證的支援。
守護程序
守護程序(Daemon)是一種運作在背景的特殊程序,它獨立于控制終端并且周期性的執行某種任務或等待處理某些發生的事件
舉例如下
程序A監控程序B,發現程序B異常退出的時候就自動重新開機程序B。
程序A就稱為程序B的守護程序。