2.2 Netd工作流程
Netd进程由init进程根据init.rc的对应配置项①而启动,其配置项如图2-1所示。
由图2-1可知,Netd启动时将创建三个TCP监听socket,其名称分别为netd、dnsproxyd和mdns。
图2-1 Netd启动配置参数
根据本章后续分析,读者将会看到以下内容。
·Framework层中的NetworkManagementService和Nsd-Service将分别和netd及mdns监听socket建立链接并交互。
·每一个调用和域名解析相关的socket API(如getaddrinfo或gethostbyname等)的进程都会借由dnsproxyd监听socket与netd建立链接。
下面开始分析Netd进程。
① 关于init工作原理以及init.rc的分析方法,可参考《深入理解Android:卷Ⅰ》第3章关于init进程的分析。