[IMX6DL][Android4.4] DNS流程

本文详细探讨了在IMX6DL平台上,Android 4.4系统中DNS查询流程。通过fprintf向dnsproxyd发送getaddrinfo命令,然后由netd进程接手处理。接着,sendLenAndData函数将结果返回给框架层。了解DNS解析过程可参考相关博客链接。
摘要由CSDN通过智能技术生成
拿getByName举例。
framework端:
InetAddress.getByName ->
    getAllByNameImpl ->
        lookupHostByName ->
            Libcore.os.getaddrinfo ->    //调用natvie函数
                getaddrinfo ->    //bionic\libc\netbsd\net\getaddrinfo.c
                    android_getaddrinfoforiface ->
                        android_getaddrinfo_proxy -> //这里cache_mode为空,netd设置的ANDROID_DNS_MODE环境变量只在进程中有效。
                            connect    //这里的socket name是/dev/socket/dnsproxyd,也就是通过dnsproxd来和netd dameon进程交互。

                            fprintf    //往dnsproxyd写getaddrinfo命令,接下来就交由netd进程处理。


netd端:
new DnsProxyListener ->    //system/netd/main.cpp
dpl->startListener ->
    pthread_create ->
        SocketListener::threadStart ->
            me->runListener ->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值