URLConnectionを介してサーバーと通信するプロジェクトに取り組んでいます。ここで長いDNSパケットのため、サーバーへのAndroid通信が非常に遅い
は、コードは次のとおりです。
URL theSite;
theSite = new URL(TestURL);
URLConnection con = theSite.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
しかし、これは、サーバーと話をするときに私のモトローラATRIXとサムスンネクサスSは約20秒以上を取っています。 (情報は最終的に縫い目が送られてきます)wiresharkのパケットを見ると、DNSパケットのグループが多数あり、それぞれの間に約3〜5秒の間隔があります。これは通信が遅い可能性があります。
ここに2つのサンプルDNSパケットがあります。
Time Source Destination Protocol Info
20.308792 10.10.120.104 8.8.8.8 DNS Standard query PTR 3.120.10.10.in-addr.arpa
25.360726 10.10.120.104 8.8.8.8 DNS Standard query PTR 3.120.10.10.in-addr.arpa
はとにかく、これは青のうち、今日起こった(私はグーグルであると信じて8.8.8.8の目的地を除いて、IPの変更しました)。しかし、サーバとデバイス間の通信が遅くなっているのは、これらのDNSコールであることは非常に明白です。
ノートの別のことは、私もサムスンギャラクシー10.1タブレットでは、同じコードを試してみて、それは正常に動作しているということです。パケットトレースを見ると、タブレットから追加のDNSコールはありません。
私はサーバーを制御できず、パケットを私に送信しました。誰にも何か提案はありますか?私はそれがサーバー関連の問題であると推測しています。誰かがアイデアを持っている場合、それは非常に感謝しています。
ありがとうございます!
これまでのところ、Wi-Fi経由でのみテストされています。コメントありがとう、私はそれを見ていきます。あなたがそれを理解することができれば、私に知らせてください。 – Dave
ipv6をリダイレクトするサービスのどこかにxmlフラグがあります。これで問題が解決しました。 – edthethird