본문 바로가기
개발노트/Android

Retrofit : TimeOut 설정

by 전지적진영시점 2022. 4. 30.
반응형

개발 환경

---------------------------------

OS : Mac

개발 툴 : Android Studio

개발 언어 : Kotlin

targetSdk : 31

minSdk : 23

---------------------------------

 

 

안녕하세요 전진시입니다

웹서버에 데이터를 요청하다가 TimeOut error로 뻑이나서 제한시간을 늘렸습니다

기본 제한 시간이 10초 더군요,, 20초로 늘렸습니다 저처럼 인터넷 상태가 좋지 않은 사용자들이 많을테니

 

api 통신이 5초 이상 걸린다면 잘못 개발된거라는군여,,,,

 

Retrofit에서는 웹서버 등 네트워크와 통신할 때 타임아웃을 설정하고 있는데요 

종류는 아래와 같습니다

  1. Connection timeout
  2. Read timeout 
  3. Write timeout 

 

 

Connection Timeout

요청을 시작한 후 서버와의 TCP handshake가 완료되기까지 지속되는 시간

Read Timeout

뭔가 읽는거에 시간초과가 되었다는건데 Http 환경에서 readTimeOut이란

서버로 요청을 보낸 뒤 응답을 받는데까지 시간이 초과되었다는겁니다.

Write Timeout

서버에 요청하는 시간

 


val client = OkHttpClient.Builder()
    .addInterceptor(headerInterceptor)
    .addInterceptor(httpLoggingInterceptor)
    .connectTimeout(20,TimeUnit.SECONDS)
    .readTimeout(20,TimeUnit.SECONDS)
    .writeTimeout(20,TimeUnit.SECONDS)
    .build()

 

 

반응형

댓글