Android OKHTTP 네트워크 요청 오류 재연 결 - http 차단
7470 단어 Android
OkHttpClient client = new OkHttpClient.Builder()
.retryOnConnectionFailure(true)// , N , 。
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("xxx") // Url
.addConverterFactory(GsonConverterFactory.create()) //
.client(client)
.build();
이상 의 재 시도 는 한 번 만 다시 시도 할 수 있 습 니 다. N 번 재 시도 가 필요 하 다 면 차단 기 를 설정 할 수 있 습 니 다.
/**
* , N
* :addInterceptor
*/
public static class Retry implements Interceptor {
public int maxRetry;//
private int retryNum = 0;// 3 , 4 ( 1 +3 )
public Retry(int maxRetry) {
this.maxRetry = maxRetry;
}
@Override
public Response intercept(@NonNull Chain chain) throws IOException {
Request request = chain.request();
Response response = chain.proceed(request);
Log.i("Retry","num:"+retryNum);
while (!response.isSuccessful() && retryNum < maxRetry) {
retryNum++;
Log.i("Retry","num:"+retryNum);
response = chain.proceed(request);
}
return response;
}
}
네트워크 가 있 는 상태 에서 네트워크 는 원활 하지만 획득 에 실패 하면 이상 의 차단 을 하고 N 번 을 다시 시도 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.