App의 기능 중 인터넷 연결을 통해 외부에서 데이터를 받아오는 경우가 있다.
해당 기능을 실행할 때 해당 기기가 인터넷과 연결이 되어 있는지를 확인해야 한다.

 try {
         final result = await InternetAddress.lookup('google.com');
        //(1)번
        if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
         	//(2)번 부분
             // 기능 관련 코드 작성
         }
     }
 catch (e) {
    print("에러는 $e");
       }

코드는 간단하다.

  • 먼저 해당 기기에서 Google.com과 연결을 시도한다.

  • 연결에 성공한 경우 다음과 같은 결과가 도착한다.
    ex) [InternetAddress('172.217.26.46', IPv4),InternetAddress('2404:6800:4004:80a::200e', IPv6)]

  • 결과 값보다 기기의 인터넷과의 연결 여부를 확인하는 것이기에 result을 (1)번 부분의 if문을 통해 확인한다.

  • 해당 기기의 데이터가 연결되어 있다면 if의 조건문이 true가 되어 다음 코드를 실행할 것이다.

  • 만약 데이터가 연결되어 있지 않다면 catch문의 코드를 실행하게 될 것이다.
   
profile
어제보다 한 발짝 더 나아가려는 Flutter 개발자

0개의 댓글