读书频道 > 网站 > 网页设计 > 深入理解Android:Wi-Fi、NFC和GPS卷
3. DnsProxyListener命令
14-05-23    奋斗的小年轻
收藏    我要投稿   
本书是经典畅销书深入理解Android系列的新作,由资深Android系统专家邓凡平先生撰写。从通信专业知识和Android系统代码实现的角度,对Netd、Wi-Fi、NFC和GPS等模块的代码进行深入的剖析,旨在深刻揭示其实现原理立即去当当网订购

下面介绍DnsProxyListener(以后简称DPL),图2-7所示为其家族成员示意图。

 

由图2-7可知,DPL仅定义了两个命令。

GetAddrInfoCmd:和Bionic C库的getaddrinfo函数对应。

GetHostByAddrCmd:和Bionic C库的gethostbyaddr函数对应。

这个两条命令的处理比较简单,此处不展开详细的代码。为方便读者理解,我们将给出调用序列图,如图2-8所示。

 

如图2-8所示,GetAddrInfoHandler最终的处理还是交由Bionic C的getaddrinfo函数来完成。根据前文所述,由于Netd进程设置了ANDROID_DNS_MODE环境变量,故Netd调用的getaddrinfo将走正常的流程。这个正常流程就是Netd进程将向指定的DNS服务器发起请求以解析域名。

Android系统中,通过这种方式来管理DNS的好处是,所有解析后得到的DNS记录都将缓存在Netd进程中,从而使这些信息成为一个公共的资源,最大程度做到信息共享。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站