BackEND/Web server

HttpPost 타임아웃 설정

mingmingIT 2017. 11. 30. 11:26

setConnectionTimeout은 클라이언트가 요청을 보냈을 때 서버가 응답하는 시간의 한도를 정하는 것이다. 즉 일정시간 서버의 응답이 없으면 연결을 끊는다는 것.

- 요청이 있지만 서버가 응답하지 않는 경우.

반면 setSoTimeout은 소켓의 연결을 끊는 것을 말한다.
즉 일정시간에 클라이언트와 서버와의 교신이 없다면 소켓의 연결을 끊는 것.

- 둘 사이에 아무런 요청이나 응답이 없는 경우.



setConnectionTimeout : 서버가 응답하는 시간의 한도를 정하는 것
setSoTimeout : 서버가 응답하지 않는 경우 소켓의 연결을 끊는 것 (접속 후 먹통이 되는 현상 방지)

ex)
  HttpClient http = new DefaultHttpClient();
  HttpParams params = http.getParams();
  HttpConnectionParams.setConnectionTimeout(params, 1000 * 60);
  HttpConnectionParams.setSoTimeout(params, 1000 * 300);