Dart 프로그램을 개발할 때, HTTP 요청을 보낼 때에는 대부분 타임아웃 설정이 필요합니다. 네트워크 연결이 끊겨있는 경우나 요청이 오랫동안 처리되지 않는 상황을 방지하기 위함입니다.
이 포스트에서는 Dart 언어를 사용하여 HTTP 요청 시에 타임아웃을 설정하는 방법에 대해 살펴보겠습니다.
http
패키지 사용하기
Dart에서 HTTP 요청을 보내기 위해서는 http
패키지를 사용할 수 있습니다. 이 패키지는 간단하고 사용하기 쉬운 API를 제공하여 HTTP 요청을 보내고 응답을 처리할 수 있게 해줍니다.
먼저, pubspec.yaml
파일에 http
패키지를 추가해야 합니다.
dependencies:
http: ^0.14.0
위 예시에서는 http
패키지의 0.14.0
버전을 사용하겠습니다.
타임아웃 설정하기
HTTP 요청 시에 타임아웃을 설정하는 방법은 간단합니다. http
패키지의 read
나 get
등의 메소드를 사용할 때 timeout
매개변수를 설정하면 됩니다.
아래는 타임아웃을 5초로 설정하여 GET 요청을 보내는 예제 코드입니다.
import 'package:http/http.dart' as http;
import 'dart:async';
void main() async {
try {
var response = await http.get(
Uri.parse('https://example.com'),
timeout: Duration(seconds: 5),
);
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
} on TimeoutException catch (e) {
print('Timeout Error: $e');
} on Error catch (e) {
print('Error: $e');
}
}
위 코드에서는 http.get
메소드의 timeout
매개변수에 Duration
객체를 전달하여 타임아웃을 설정했습니다. 5초가 지나도 응답이 오지 않으면 TimeoutException
이 발생합니다.
요약
Dart 언어를 사용하여 HTTP 요청 시에 타임아웃을 설정하는 방법에 대해 알아보았습니다. http
패키지의 간편한 API와 timeout
매개변수를 활용하여 네트워크 요청의 응답을 관리할 수 있습니다.
타임아웃 설정을 통해 안정적이고 효율적인 네트워크 통신을 구현할 수 있습니다.
이상으로 HTTP 요청 시에 타임아웃 설정하기에 대한 내용을 마치겠습니다. 감사합니다.