2011-09-17 2 views
5

내 노트북에서 실행되는 Python REST API 서버가 있습니다. 안드로이드 (Eclipse ADT 등 사용)에 휴식 클라이언트를 작성하여 Apache 클라이언트 (org.apache.http.client) 라이브러리를 사용하여 접속하려고합니다. 에뮬레이터에서 호스트 컴퓨터 (10.0.2.2)에 연결할 수 없습니다.

코드

정말 간단하고, 기본적으로 다음과 같은 작업을 수행 - 그러나 타임 아웃을 제외하고, 그것을 예외을 실행에

HttpGet httpget = new HttpGet(new URI("http://10.0.2.2:8000/user?username=tim")); 
HttpResponse response = httpclient.execute(httpget); 

. 에뮬레이터의 브라우저에서도 URL을 칠 수 없습니다. 예외

org.apache.http.conn.ConnectTimeoutException: Connect to /10.0.2.2:8000 timed out 

세부 그러나, 나는 내 노트북에 크롬에 크레스트 클라이언트를 사용했는데, 나는 REST 서버의 벌금을 조회 할 수 있어요.

+1

이것을 파악할 수 있었습니까? 나는 정확히 같은 문제를 겪어 왔고 그것을 다소 쌓아 놓았다. –

답변

0

컴퓨터가 네트워크에 연결되어 있지 않을 수 있습니까? 즉, 라우터의 다른 쪽, 인터넷 어딘가에 있습니까? 주소가 "10." 개인 주소로 예약되어 있으며 라우팅 할 수 없습니다.

당신이 에뮬레이터 종료 :

내가 같은 문제를했고, 여기에 내가 원인을 파악하는 방법은 더 많은 정보

0

에 대한 http://en.wikipedia.org/wiki/Private_network를 참조하십시오. 로컬 서버를 시작하십시오. 브라우저에서 "http : // localhost : 8000/user? username = tim"에 액세스하여 응답을 얻을 수 있어야합니다. 시간 초과가 발생하면 서버가 실행되지 않을 가능성이 높습니다. 내 경우, 내 파이썬 서버가 중단 점을 설정하고 거기에 붙어있었습니다. 일단 실행 시키면 브라우저 및 이후 에뮬레이터에서 응답을 볼 수있었습니다 (10.0.2.2 사용).

관련 문제