Java에서 Android용 HttpResponse 시간 초과를 설정하는 방법
연결 상태 확인을 수행하는 것이 중요하지만 실행 시간 초과가 길어지면 실망스러울 수 있습니다. 이 문제를 방지하고 연결 처리를 최적화하는 방법을 살펴보겠습니다.
DefaultHttpClient 클래스를 사용하여 HTTP 요청을 실행하면 서버가 종료될 때 상당한 지연이 발생할 수 있습니다. 이는 httpClient.execute(method) 메서드가 응답을 무기한 기다리기 때문입니다. 이 문제를 해결하려면 HTTP 응답에 대한 시간 초과를 설정할 수 있습니다.
HTTP 응답 시간 초과 설정
두 가지 유형의 시간 초과, 즉 연결 시간 초과와 소켓 시간 초과. 연결 시간 초과는 연결 설정을 위한 대기 기간을 제어하는 반면, 소켓 시간 초과는 데이터 전송 대기 시간을 제한합니다.
Java에서는 HttpConnectionParams를 사용하여 이러한 시간 초과를 쉽게 지정할 수 있습니다. 예는 다음과 같습니다.
HttpGet httpGet = new HttpGet(url); HttpParams httpParameters = new BasicHttpParams(); // Set connection timeout to 3 seconds (3000 milliseconds) HttpConnectionParams.setConnectionTimeout(httpParameters, 3000); // Set socket timeout to 5 seconds (5000 milliseconds) HttpConnectionParams.setSoTimeout(httpParameters, 5000); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpClient.execute(httpGet);
또는 기존 HTTPClient 객체가 있는 경우 해당 매개변수를 구성할 수 있습니다.
httpClient.setParams(httpParameters);
적절한 시간 제한을 설정하면 애플리케이션이 무기한 대기하는 것을 방지할 수 있습니다. 연결이나 데이터 응답을 위해. 이를 통해 응답성이 향상되고 연결 확인 중 불필요한 지연이 방지됩니다.
위 내용은 Android에서 HTTP 요청에 대한 연결 및 소켓 시간 초과를 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!