2013-11-13 2 views
10

Я пытаюсь подключиться к серверу в той же сети, что и мой телефон Android через HTTP. Мой код выглядит следующим образом:EHOSTUNREACH (нет маршрута к хосту) на Android HTTP

DefaultHttpClient client = new DefaultHttpClient(); 
String url = "http://192.168.137.1:80"; 
url += "/ebs/auth.php?username=" + username + "&password=" + password; 

HttpGet get = new HttpGet(url); 
HttpResponse response = client.execute(get); 
HttpEntity respEntity = response.getEntity(); 

InputStream is = respEntity.getContent(); 
String content = GeneralUtility.fromStream(is); 

return content; 

, где, как предполагается, возвращаемый содержание Строка быть JSON строка для меня т разобрать до конца. За один золотой момент, мне удалось получить доступ к серверу, но и для всех других попыток я либо врезался в TimeoutExceptions (я установил 60second тайм-аут) или более хлопотно ошибка:

org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.137.1 refused 

Это было вызвано:

java.net.ConnectException: failed to connect to /192.168.137.1 (port 80): connect failed: EHOSTUNREACH (No route to host) 

И это, в свою очередь вызвано следующими причинами:

libcore.io.ErrnoException: connect failed: EHOSTUNREACH (No route to host) 

Я застрял здесь, как я не могу даже выполнять обычную проверку подлинности для моего приложения. Что я делаю не так?

+0

Вы уверены, что телефон не переходит из WiFi в сотовую сеть во время тестирования? –

+0

(a) У вас есть разрешения «ИНТЕРНЕТ»? (b) Предполагается ли '192.168.137.1'' 192.168.1.137'? (c) Если сервер включен в DHCP, изменился ли его IP-адрес? – 323go

ответ

3

Убедитесь, что ваш сервер действительно служит!

Я столкнулся с той же проблемой, получая то же Исключения, когда приложение Android отправляло запросы на компьютер в локальной сети. Как оказалось, служба webapi была недоступна, поскольку компьютер (т. Е. «Сервер») был выключен.

Кроме того, найдите журнал «TIMEDOUT». Это еще одно указание на то, что ваши настройки в порядке, и это сервер, который не отвечает.

p.s. Я знаю, что этот ответ приходит немного поздно, но я все же думаю, что это может принести пользу другим, кто сталкивается с той же проблемой.

1

В моем случае я тестировал смартфон с настройкой прокси. Я решил проблему отключения прокси-сервера в конфигурации телефона. Если кто-то застрял в этой ошибке, моя рекомендация - убедиться, что сеть эмулятора/физического устройства правильно настроена.

+2

Что вы подразумеваете под «удостоверяете себя, что эмулятор/сеть физических устройств правильно настроена»? –

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