본문 바로가기
안드로이드

[안드로이드] HttpClient 에 Timeout 설정하기

by 호군 2011. 10. 25.
반응형

원문 : http://mainia.tistory.com/567

HttpClient httpClient = new DefaultHttpClient() 로 인스턴스를 생성하여 Web으로부터 데이터를 받는데..
무한대기를 하네요. 확인해보니 server pc가 꺼져있는 상태였는데.. 응답이 없으면...일정시간후에 알아서 나가야지..나쁜놈...



HttpParams setParameter

파라미터로 http.connection.timeout 과 제한 하고자 하는 시간을 넣는다.

1000 1초이므로 5초 동안 응답이 없으면 UnknownHostException 을 던지게

된다.

1 HttpClient httpclient = new DefaultHttpClient();
2 httpclient.getParams().setParameter("http.protocol.expect-continue", false);
3 httpclient.getParams().setParameter("http.connection.timeout", 5000);
4 httpclient.getParams().setParameter("http.socket.timeout", 5000);


또 다른 방법은 HttpConnectionParams 클래스에서 지원하는 setConnectionTimeout
setSoTimeout 를 이용해 timeout 을 설정하는 것이다
1 HttpClient httpclient = new DefaultHttpClient();
2 HttpParams params = httpclient.getParams();
3 HttpConnectionParams.setConnectionTimeout(params, 5000);
4 HttpConnectionParams.setSoTimeout(params, 5000);
반응형