2013-06-04 2 views
0

Я использую DefaultHttpClient для выполнения нескольких downlaods. В случае, когда enternet отсутствует, я получаю SocketTimeoutException только для первой загрузки, а для следующих загрузок я получаю java.net.SocketException: No route to host. Почему это происходит? Для каждого запроса я использую новый httpClient. Мне нужно получить SocketTimeoutException для каждого запроса, потому что я должен поддерживать задержку таймаута между попытками загрузки.Получить «SocketException: нет маршрута к хосту» вместо ожидаемого «SocketTimeoutException»

+0

Является ли в манифесте все разрешения в порядке? –

+0

Это OK.Problem, что я получаю SocketException: Нет маршрута к хосту вместо ожидаемого SocketTimeoutException – pvllnspk

+0

Checkout это отвечает: http://stackoverflow.com/questions/13031170/android-httpurlconnection-httppost-receive-a- socketexception-no-route-to-host http://stackoverflow.com/questions/9788163/android-app-java-net-socketexception-no-route-to-host –

ответ

2

Checkout это отвечает:

Android HttpUrlConnection HttpPost receive a SocketException: no route to host

Android App - Java.Net.SocketException: No route to host

И here какое-то объяснение:

Ваш 192.168.1.114 адрес является DHCP адрес (динамически), назначенный ваш маршрутизатор на ваш компьютер. В результате он отображается в эмуляторе.

Но в зависимости от того, как настроен ваш Wi-Fi, Android, вероятно, находится на различных маршрутизаторах/подсетях и не может видеть 192.168.1.114. Вы можете проверить , набрав 192.168.1.114 в адресной строке браузера Android .

Если 192.168.1.114 не виден ваш Android, то вам придется либо изменить правила маршрутизации на маршрутизаторе, чтобы сделать его видимым, или добавить DNS поиск для него.

Смежные вопросы