UnknownHostException в Android: проблема с Wi-Fi

У меня есть исключение UnknownhostException при анализе данных JSON с сервера,

Мой URL работает над:

http://jsonlint.com

в браузере реального устройства (только тарифный план)

Иногда он работает в браузере ПК, а иногда нет.

На самом деле у меня возникла проблема с Wi-Fi. Иногда он работает с Wi-Fi-соединением, когда нет, я перезапустил свой Wi-Fi, и он заработал, и через некоторое время возникла та же проблема,

Я хочу получить постоянное решение этой проблемы с подключением к Wi-Fi. Перезапуск Wi-Fi никогда не является решением на стороне пользователя приложения,

Какова точная проблема и решение также ...


person Rohit    schedule 12.02.2014    source источник
comment
какое-то время сеть Wi-Fi включена, но в этой сети нет подключения к Интернету, чувак, поэтому постарайтесь очистить обе вещи, сеть Wi-Fi отличается от Интернета, поэтому я думаю, что время, когда это условие выполняется.   -  person Bhanu Sharma    schedule 12.02.2014
comment
@BhanuSharma Вы правы, но когда я проверяю URL-адрес, соединение n/w также включено, я уверен в этом ...   -  person Rohit    schedule 12.02.2014
comment
о, я даю вам, чтобы найти скорость Wi-Fi через сеть, поэтому вы просто находите скорость, если она будет больше, чем хорошая скорость, тогда только контроллер переходит в следующий код, иначе появляется всплывающее окно без интернета.   -  person Bhanu Sharma    schedule 12.02.2014
comment
@BhanuSharma Я не думаю, что речь идет о скорости n/w, потому что URL-адрес успешно работает на моем тарифном плане 2G, он такой медленный, ответ занимает почти 2-3 минуты, но каждый раз, когда я получаю ответ от сервера   -  person Rohit    schedule 12.02.2014
comment
из какой сети вы получили ошибку WIFI или DATAPLAN   -  person Bhanu Sharma    schedule 12.02.2014
comment
скорость соединения с моего Wi-Fi составляет -68, а с моего тарифного плана Aircel 2G -200   -  person Rohit    schedule 12.02.2014
comment
это отображается в отрицательном (-ve) знаке   -  person Bhanu Sharma    schedule 12.02.2014
comment
да это отрицательное значение, что это значит???   -  person Rohit    schedule 12.02.2014
comment
просто упомяните, что ваша скорость всегда будет выше -20, например -21, -22, -23, если она будет выше, например -19, -18 и т. д., это означает, что скорость низкая :)   -  person Bhanu Sharma    schedule 12.02.2014
comment
давайте продолжим это обсуждение в чате   -  person Bhanu Sharma    schedule 12.02.2014
comment
Нет, я не закончил.   -  person Rohit    schedule 12.02.2014


Ответы (2)


Обычно UnknownHostException срабатывает, когда вы не можете разрешить DNS-запись предоставленного вами URL-адреса. Для этой операции существует разумный тайм-аут, но если у вас слабое соединение WiFi или на вашем устройстве недостаточно сигнала, связь может быть прервана в середине между отправкой и получением ответа, поэтому ваше устройство не получит ответ, поэтому он думает, что это тайм-аут DNS.

Есть 2 вещи, которые вы можете попробовать:

  • Увеличьте время ожидания ответа. Однако это не поможет, если ваше общение будет прервано, вы уже отправили запрос.

  • Вместо этого используйте IP-адрес:

    shut-up@i-kill-you:~$ ping jsonlint.com
    PING jsonlint.com (54.243.171.164) 56(84) bytes of data.
    
person nKn    schedule 12.02.2014

WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
                        int linkSpeed = wifiManager.getConnectionInfo().getRssi();

                            System.out.println("Link Speed is======"+linkSpeed);

Это даст вам скорость Wi-Fi, поэтому просто укажите одну скорость, если эта скорость придет, а затем выполните только следующую работу.

person Bhanu Sharma    schedule 12.02.2014