2010-08-21 2 views

답변

2

타임 아웃을 어떻게 처리합니까? try 문을 try 문에 넣고 실패한 반복을 몇 번 시도해보고 나중에 사용자에게 시도 할 것인가?

나는 좋은 생각이라고 생각하지 않습니다. IMO, 가장 좋은 방법은 사용자가 루프를 사용하지 않고 기다려야한다고 생각하는 시간에 해당하는 시간 제한을 선택하는 것입니다. @BalusC가 지적했듯이, 괜찮은 Http 클라이언트 API는 요청하기 전에 시간 초과를 설정할 수있는 방법을 제공합니다. 그걸 써.

루프를 사용할 때의 문제점은 잠재적으로 이미 오버로드 된 서버에로드를 추가한다는 것입니다. 시간 초과의 진정한 이유는 서버가 너무 많은 요청을 병렬로 처리하려고하고 각 요청이 오래 걸린다 고 가정합니다. 클라이언트 (클라이언트)가 요청을 시간 초과 한 다음 즉시 다시 시도하면 추가 부하를 추가하는 중일 수 있습니다.

일부 사용자는 재시도 단추를 해머 할 가능성이 있습니다. 너는 그들을 위해 망치질을 할 필요가 없다.

+0

실제로 모든 비트 괜찮은 HTTP 클라이언트에는 시간 초과 설정이 있습니다. 심지어 URLConnection에도 ['setConnectionTimeout()']이 있습니다. (http://download.oracle.com/javase/6/docs/api/java/net /URLConnection.html#setConnectTimeout%28int%29). 그것을 사용하십시오. – BalusC

+0

@BalusC - 감사 ... 귀하의 요점을 추가했습니다. –

관련 문제