0

Android NDK と JNI ラッパーにリンクされた C++ プロジェクトを使用して、Android アプリをビルドしています。C++ プロジェクトはいくつかの基本的な機能で構成されており、そのうちの 1 つが DNS ルックアップです。ares_gethostbynameAPI を使用して DNS を解決しています。しかし、エラーがあり、Android の DNS ルックアップが失敗します。しかし、他のプラットフォームでは問題なく動作します。考えられる原因を見つけることができませんでした。アプリから渡されるアドレスを確認しました。あたりです。しかし、DNS の解決に失敗します。誰でもこの問題について私を助けることができますか?

4

2 に答える 2

2

はい、UDP ブロック環境では動作しません。根本的な原因は、gethostbyname() で UDP ポートを使用して DNS 解決が行われることです。getaddrinfo() を使用して、udp と tcp ポートの両方を使用して DNS 名を解決できることが文書化されていますが。ただし、UDP がブロックされた環境で動作するかどうかはわかりません。あなたはそれを使ってみることができますが。

于 2014-07-21T05:27:43.157 に答える
0

それを解決しました。android dns ルックアップでは、UDP-BLOCKED 環境では使用できません。

于 2013-04-15T07:27:26.847 に答える