2011-09-14 3 views
0

PHP 스크립트를 통해 MySQL DB에서 데이터를 가져 오려고합니다. 내 코드는 다음과 같습니다 `안드로이드 Httpget 시간 초과

  HttpClient httpclient = new DefaultHttpClient(); 

      HttpGet httpget = new HttpGet("http://example.com/fscript.php"); 
      HttpResponse response= null; 
      System.out.println(httpget.toString()); 
      try{ 
       response= httpclient.execute(httpget); 
      }catch(Exception e){ 
       e.printStackTrace(); 
      } 

나는 항상 로그 캣에서 타임 아웃을 얻고 스택 트레이스의 :

java.net.SocketException: The operation timed out 

나는 같은 코드 만 가리키는 http://10.0.2.2:90/fscript.php에, 내가 가진 서버를 사용하는 경우 내 개발 컴퓨터에서 잘 작동하므로 원격 서버와 관련이 있다고 생각합니다. 그리고 브라우저에 주소를 쓸 때 내 스크립트에서 반환하는 json 문자열을 반환하므로 문제가 PHP가 아닌 것 같습니다. 내 매니페스트에 신청서에 인터넷 사용 권한이 있습니다. 다른 것을 필요로합니까? 아니면 내 웹 서버에서 안드로이드 호출을 수락하도록 구성해야합니다.

그냥 추측하면 도움이됩니다.

답변

1

이 몇 번 있기 때문에 서버가 응답하는 데 시간이 너무 오래 걸리는 일이 일어나고

가능한 중복 대답. 실제로 느린 네트워크로 인해 이런 일이 발생할 수 있으므로이를 완전히 제어 할 수는 없습니다. 당신이 HttpClient를 사용하고 있던 경우에는 제한 시간을 증가시킬 수있다 :

java.net.socketexception: The operation timed out problem in android?

+0

죄송합니다. 복제 된 경우 시간이 연장되어 문제가 발생한 경우 알려 드리겠습니다. 덕분에 –

0

귀하의 웹 서버가 호출이 안드로이드 장치에서 것을 덜 신경 수 없었다. 단지 HTTP 요청이 들어 와서 그에 따라 처리하는 것을 볼 수 있습니다. Android 기기가 실제로 처음에 비 로컬 주소에 연결할 수 있는지 조사 할 것입니다. 예 : 아마도 방화벽이 요청을 차단하고있을 것입니다. Android 에뮬레이터에있는 경우 네트워크 브리징이 올바르게 구성되었는지 확인하십시오.

+0

사실 에뮬레이터, 내가 당신의 팁, 고마워요 감사합니다. –