如何解决Android中的DNS?

时间:2013-04-02 09:21:26

标签: android c++ dns android-ndk

我正在使用Android NDK和一个与JNI包装器链接的C ++项目来构建我的Android应用程序。 C ++项目由几个基本功能组成,其中一个是DNS查找。我正在使用ares_gethostbyname API来解析DNS。但是有一个错误,Android的DNS查找失败。但在其他平台上它工作正常。我找不到可能的原因。我已经检查了从应用程序传递的地址。这是正确的。但它无法解析DNS。任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

是的,它在UDP阻止的环境中不起作用。根本原因是,DNS解析是通过使用gethostbyname()中的UDP端口完成的。虽然记录了getaddrinfo()可以用于使用udp和tcp端口解析dns名称。但我不确定它在UDP阻塞环境中是否有效。虽然你可以尝试使用它。

答案 1 :(得分:0)

解决了这个问题。在android-dns中,在UDP-BLOCKED环境中无法进行查找。