Я работаю над проектом, который обменивается данными с сервером через URLConnection.
Вот код:
URL theSite;
theSite = new URL(TestURL);
URLConnection con = theSite.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
Однако это касается моих Motorola Atrix и Samsung Nexus S о20 секунд или более при разговоре с сервером.(Информация отправляется, в конце концов она отправляется). Глядя на пакеты в wireshark, я обнаружил, что отправляется много групп DNS-пакетов, между которыми примерно 3-5 секунд.Вероятно, это является причиной медленной связи.
Вот два примера DNS-пакетов.(Я изменил IP-адреса, за исключением пункта назначения 8.8.8.8, который, как мне кажется, называется Google)
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
В любом случае, сегодня это произошло совершенно неожиданно.Но очень очевидно, что именно эти DNS-вызовы вызывают медленную связь между сервером и моим устройством.
Еще одно замечание, что я также пробовал EXACT тот же код на планшете Samsung Galaxy 10.1, и он работает нормально.Глядя на трассировку пакетов, с планшета не происходит никаких дополнительных DNS-вызовов.
У меня нет контроля над сервером, и мне были отправлены пакеты.У кого-нибудь есть предложения?Я предполагаю, что это проблема, связанная с сервером.Если у кого-то есть идеи, это очень ценится.
Спасибо!