当前位置: 代码迷 >> Android >> 怎么用c或者c++代码获取默认DNS服务器的ip
  详细解决方案

怎么用c或者c++代码获取默认DNS服务器的ip

热度:20   发布时间:2016-05-01 12:36:28.0
如何用c或者c++代码获取默认DNS服务器的ip?
普通linux平台上直接读取resolve.conf就可以了,但是android使用key value数据库中的net.dns1以及net.dns2这两个key来代替了这个文件。
adb shell之后通过getprop查看属性,确实有:
[net.dns1]: [a.b.c.d]
[dhcp.eth0.dns1]: [a.b.c.d]
现在我想知道如何用c或者c++代码获取默认DNS服务器的ip?(即上面的a.b.c.d)因为我正在用socket编程做一个DNS resolver,需要与DNS服务器通信。
谢谢大家!!

话说android-x86/external/busybox/networking/nslookup.c里面似乎用两行就完成了这个操作:
                sa = (struct sockaddr*)&_res.nsaddr_list[0];
        server = xmalloc_sockaddr2dotted_noport(sa);

但是需要包含/android-x86/external/busybox/include/libbb.h文件,包含之后编译libbb.h出错,哎...
------最佳解决方案--------------------
jni么,看看ndk的so们有没有你需要的.
------其他解决方案--------------------
不是吧 大家没有遇到过这个问题吗?
------其他解决方案--------------------
该回复于2011-04-14 09:18:31被版主删除
------其他解决方案--------------------
学习下,我在做的pppoe和这个有点关系,不知道用不用的上
------其他解决方案--------------------
你学习到了什么吗。。。
引用:
学习下,我在做的pppoe和这个有点关系,不知道用不用的上

------其他解决方案--------------------
引用:
不是吧 大家没有遇到过这个问题吗?

我知道了,看看这个:http://rxwen.blogspot.com/2010/01/android-property-system.html#
------其他解决方案--------------------
可以尝试在java程序中调用linux命令行命令的方式获取dns的ip地址
------其他解决方案--------------------
解决了吗,求方法能贴出来吗
  相关解决方案