Windows 앱
콘텐츠의 테이블 축소
콘텐츠의 테이블 확장

연결 사용 데이터에 대한 지침

연결된 앱에서 Windows 런타임 네트워크 정보 API를 사용하는 경우 다음 권장 사항을 고려하세요.

네트워크 비용 유형에 따라 앱 동작 수정

Windows 8에서는 장치가 새 네트워크를 검색할 때 연결 옵션을 제공하지만 모든 작업에 대해 기존 연결에서 새 네트워크로 매끄럽게 전환된다는 보장은 없습니다. 웹의 대상에 연결하는 Windows 스토어 앱은 네트워크 정보 API를 사용하여 데이터를 보내거나 받는 네트워크에 대한 비용 정보 및 상태 변경 이벤트를 가져와야 합니다.

각 연결에 대해 표시된 NetworkCostType을 사용하여 동작을 적절하게 수정합니다.

네트워크 비용 유형권장되는 앱 동작

무제한

  • 네트워크 연결을 자유롭게 사용합니다.

가변/데이터 상한 도달

  • 무제한 네트워크를 사용할 수 있을 때까지 우선 순위가 낮은 작업을 연기하거나 예약합니다.
  • 콘텐츠를 사용자에게 스트림하는 경우(예: 영화 또는 동영상) 낮은 비트 전송률을 사용합니다. 예를 들어 앱이 HD 화질의 동영상을 스트림하는 경우 데이터 통신 연결 네트워크에서는 표준 선명도로 스트림합니다.
  • 더 작은 대역폭을 사용합니다. 예를 들어 메일을 받을 경우 헤더 전용 모드로 전환합니다.
  • 네트워크 사용 횟수를 줄입니다. 예를 들어 뉴스 피드를 신디케이트하거나, 웹 사이트의 콘텐츠를 새로 고치거나, 웹 알림을 가져오기 위한 폴링 작업 빈도를 줄입니다.
  • 기본적으로 설정하는 대신 사용자가 고화질 동영상을 스트리밍하고, 전체 메일을 검색하고, 우선 순위가 낮은 업데이트를 다운로드하도록 명시적으로 선택할 수 있도록 합니다.
  • 네트워크를 사용하기 전에 명시적으로 사용자 권한을 요청합니다.

알 수 없음

  • 네트워크 비용 유형을 알 수 없으면 무제한 네트워크로 처리합니다.

 

안정적인 웹 연결 유지

앱이 네트워크 공간에서 유연성을 증명할 수 있는 가장 기본적인 방법 중 하나는 웹을 조작할 때 일관된 품질 수준을 유지하는 것입니다. 이렇게 하려면 연결 프로필에서 제공하는 정보와 이후의 네트워크 상태 변경 알림을 활용하고 현재 요구 사항을 충족하는 사용 가능한 네트워크를 식별합니다.

모든 Windows 스토어 앱은 웹 연결을 지원하기 위해 다음을 수행해야 합니다.

  1. GetInternetConnectionProfile을 호출하여 인터넷 연결 비용을 확인합니다.
  2. 연결에 대한 네트워크 상태 변경 알림을 등록합니다.
  3. 연결에 대한 네트워크 작업을 초기화합니다.
  4. 네트워크 상태 변경 알림을 받은 경우 사용 가능한 비용/연결 옵션이 변경되었을 수도 있습니다. 앱에서 다음을 수행해야 합니다.
    • 인터넷 연결 비용을 확인합니다. 무제한에서 요금제로 또는 요금제에서 무제한으로 비용 특징이 변경된 경우 네트워크 작업을 다시 시도합니다. Windows는 사용 가능한 가장 낮은 비용의 네트워크를 자동으로 사용합니다.
    • 인터넷 연결 비용 특징이 변경되지 않았지만 한도의 80% 이상 소진, 가변 비용, 로밍 등과 같은 비용 관련 알림을 받은 경우 위의 NetworkCostType 표에 제안된 대로 동작을 적응합니다.
  5. 연결이 끊어졌다는 오류가 표시되면 앱에서 다음을 수행해야 합니다.
    • 사용 가능한 다른 네트워크를 통한 인터넷 연결 비용을 확인합니다. 위의 NetworkCostType 표에 제공된 지침을 따릅니다.
    • 작업을 다시 시도합니다. 실패할 경우 NetworkStatusChange 알림을 받을 때까지 기다립니다.

연결된 앱 디버그 및 문제 해결

네트워크 결함으로 인해 응용 프로그램은 중단되었거나 충돌하거나, 사용자에게 수행 불가능한 대화상자 및 혼동되는 오류 메시지를 표시할 수 있습니다. 이러한 오류는 네트워킹 스택 내 어디에서나 발생할 수 있으므로 이러한 오류를 디버깅하기가 어려울 수 있습니다.

네트워크를 (소켓을 사용하여) 직접 또는 (결과적으로 네트워크를 사용하는 API를 사용하여) 간접적으로 사용하는 모든 Windows 스토어 앱이 영향을 받습니다. 운영 체제가 개발자를 대신하여 자동으로 오류 조건을 처리하는 것이 바람직하며, 그렇지 못할 경우 응용 프로그램에서 오류를 처리할 수 있도록 준비해야 합니다.

연결된 모든 Windows 스토어 앱에서 다음을 수행해야 합니다.

  • 네트워킹 오류가 발생한 경우 작업을 다시 시도합니다(해당하는 경우). 예를 들어, 인증이 실패할 경우에는 작업을 다시 시도하지 않지만, 통신 중인 네트워크의 연결이 끊어졌을 때는 다른 연결을 사용할 수 있으므로 작업을 재시도하세요. 작업을 다시 시도하기만 해도 많은 오류가 사라질 수 있습니다. 다시 시도할 때 앞의 네트워크 상태 변경에 대응에서 지정된 지침을 따릅니다.
  • UI 스레드에서 호출이 차단되지 않도록 비동기 API를 사용해야 합니다. 즉, 네트워크 작업이 완료하는 데 시간이 오래 걸리거나 오류가 있을 경우 응용 프로그램은 중단되지 않습니다. Windows 런타임의 비동기 특징을 기반으로 동기 동작을 에뮬레이트하지 마세요.
  • 다양한 네트워킹 환경에서 연결 끊기, 다시 연결하기, 일시 정지 또는 다시 시작, 다른 네트워크로 전환 등의 작업을 수행하면서 응용 프로그램을 테스트합니다.
  • 응용 프로그램을 테스트할 때 즉시 명확하지 않은 오류를 발견하면 ETW 추적을 사용하도록 설정합니다.

보안 고려 사항

다음 문서에서는 안전한 C++ 코드를 작성하기 위한 지침을 제공합니다.

관련 항목

연결된 응용 프로그램 개발(백서)
네트워크 정보 샘플
개발자용(HTML)
연결 상태 및 비용 관리
개발자용(XAML)
연결 상태 및 비용 관리

 

 

표시:
© 2017 Microsoft