2013-04-02 5 views
0

Android NNDK와 JNI 래퍼와 연결된 C++ 프로젝트를 사용하여 Android 앱을 만듭니다. C++ 프로젝트는 몇 가지 기본 기능으로 구성되며 그 중 하나는 DNS 조회입니다. DNS를 해결하기 위해 ares_gethostbyname API를 사용하고 있습니다. 하지만 안드로이드에 대한 DNS 조회가 실패합니다. 그러나 다른 플랫폼에서는 잘 작동합니다. 나는 그럴만한 이유를 찾지 못했습니다. 앱에서 전달 된 주소를 확인했습니다. 맞습니다. 그러나 DNS를 해결하지 못합니다. 누구든지이 문제에 대해 저를 도울 수 있습니까?안드로이드에서 DNS를 어떻게 해결할 수 있습니까?

답변

0

해결했습니다. UDP-BLOCKED 환경에서는 안드로이드 DNS 조회가 불가능합니다.

2

예 UDP 차단 환경에서는 작동하지 않습니다. 근본적인 원인은 gethostbyname()에서 UDP 포트를 사용하여 DNS 확인이 이루어지기 때문입니다. udp 및 tcp 포트를 사용하여 getaddrinfo()를 사용하여 DNS 이름을 확인할 수 있음이 문서화되어 있지만. 하지만 UDP가 차단 된 환경에서 작동하는지 여부는 확실하지 않습니다. 비록 당신이 그것을 사용해 볼 수 있습니다.

관련 문제