Android WIFI 詳解
public void handleMessage(Message msg) {
intevent;
switch (msg.what) {
case EVENT_DHCP_START:
……
Log.d(TAG, DhcpHandler: DHCP requeststarted);
//啟動(dòng)一個(gè)DHCPclient的精靈進(jìn)程,為mInterfaceName請(qǐng)求分配一個(gè)IP地//址
if (NetworkUtils.runDhcp(mInterfaceName, mDhcpInfo)) {
event= EVENT_INTERFACE_CONFIGURATION_SUCCEEDED;
if(LOCAL_LOGD) Log.v(TAG, DhcpHandler: DHCP request succeeded);
} else {
event= EVENT_INTERFACE_CONFIGURATION_FAILED;
Log.i(TAG,DhcpHandler: DHCP request failed: +
NetworkUtils.getDhcpError());
}
……
}
這 里調(diào)用了一個(gè)NetworkUtils.runDhcp()函數(shù),NetworkUtils類(lèi)是一個(gè)網(wǎng)絡(luò)服務(wù)的輔助類(lèi),它主要定義了一些本地接口,這些接 口會(huì)通過(guò)他們的JNI層android_net_NetUtils.cpp文件和DHCP client通信,并獲取IP地址。
至此,IP地址獲取完畢,Wifi啟動(dòng)流程結(jié)束。
評(píng)論