내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 통신

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

이 항목에서는 Windows Phone 앱이 다른 앱 및 원격 데이터 저장소와 통신할 수 있는 방식을 소개합니다. 여기에서 소켓, Bluetooth, NFC(근거리 통신)용 근접 센서 API, VoIP(Voice over IP), OData(Open Data Protocol) 클라이언트 및 웹 서비스에 대해 알아보세요. 또한 이 항목에서는 네트워크 정보 및 데이터 센스 API도 소개합니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone OS 7.1 에서는 채팅 앱 등의 웹을 통한 양방향 통신에 대한 소켓 기반 앱을 지원합니다. 클라이언트 또는 서버는 소켓을 사용해 통신을 시작할 수 있으며, 각 끝점이 독립적으로 다른 끝점에 메시지를 보낼 수 있습니다. 소켓 앱은 System.Net.Sockets API를 사용합니다. 자세한 내용은 Windows Phone 8용 소켓을 참조하세요.

Bluetooth는 10m 거리 안에 있는 장치가 서로 통신하는 데 사용할 수 있는 무선 통신 기술입니다. 이 기술을 통해 단말기는 실제 연결 없이도 통신할 수 있습니다. Bluetooth 기술을 사용하는 단말기 및 앱의 예로는 무선 헤드셋, 원격 제어 장난감, 멀티플레이어 게임 등이 있습니다. 앱은 Windows Phone 8 에 도입된 API를 사용하여 Bluetooth를 통해 다른 앱이나 장치와 통신할 수 있습니다. 자세한 내용은 Windows Phone 8의 Bluetooth를 참조하세요.

Windows Phone 8 에서는 NFC(근거리 통신)를 사용하는 근접성 통신을 지원합니다. 근접성이란 서로 가까운 거리에 있는 장치 간의 연결을 지원하는 Windows 런타임 클래스 집합을 지칭합니다. 앱은 이 API를 사용하여 탭을 통해 연결을 설정하거나 무선 범위 내에서 앱을 실행 중인 다른 단말기(피어 앱)를 검색해 연결을 설정할 수 있습니다. 예를 들어 이러한 앱 중 하나는 두 사용자가 각자의 휴대폰을 동시에 탭하여 공유 게임 세션을 설정하는 멀티플레이어 게임일 수 있습니다. 근접 센서 API에 대한 자세한 내용은 Windows Phone 8의 근접성을 참조하세요.

Windows Phone 8 부터는 Windows Phone 용 VoIP(Voice over IP) 앱을 개발할 수 있습니다. 앱은 WASAPI(Windows Audio Session API)의 하위 집합을 사용해 오디오 스트림을 캡처 및 렌더링할 수 있습니다. 또한 Windows Phone VoIP 앱은 동영상 기반 VoIP 통화를 스트림할 수도 있습니다. 자세한 내용은 Windows Phone 8용 VoIP 앱을 참조하세요.

사용자는 Windows Phone 8 의 데이터 센스 기능을 통해 데이터 요금제의 한도를 지정할 수 있습니다. 데이터 센스 기능은 사용자가 지정한 한도를 기준으로 데이터 사용량을 모니터링합니다. 앱은 이 정보를 이용해 사용자의 제공 데이터에 근접하면 데이터 사용량을 줄이고 한도를 초과하면 데이터 사용을 중단함으로써 통화료를 절약할 수 있도록 합니다. 자세한 내용은 Windows Phone 8용 데이터 센스 API를 사용하여 데이터 사용량을 조정하는 방법을 참조하세요.

모든 웹 기반 앱의 사용자 환경은 장치 네트워크 연결의 사용 가능성과 품질에 따라 크게 달라집니다. Microsoft.Phone.Net.NetworkInformation 네임스페이스에서는 앱이 실행 중인 장치의 네트워크 상태를 자세히 알아보는 데 사용할 수 있는 다양한 클래스를 제공합니다. 예를 들어 앱을 통해 셀룰러 데이터나 Wi-Fi 연결이 사용하도록 설정되어 있는지 확인할 수 있습니다. 또한 API를 사용해 셀룰러 또는 비셀룰러 네트워크의 기본 설정을 지정할 수도 있습니다. 자세한 내용은 Windows Phone 8의 네트워크 및 네트워크 인터페이스 정보를 참조하세요.

웹 서비스를 사용하면 인터넷의 다양한 데이터에 프로그래밍 방식으로 액세스할 수 있습니다. 데이터 서비스는 OData(Open Data Protocol)를 구현하여 데이터를 리소스로 표시하는 HTTP 기반 웹 서비스입니다. 이러한 리소스는 데이터 모델로 정의되며 URI(Uniform Resource Identifier)를 통해 주소를 지정할 수 있습니다.

웹 및 데이터 서비스는 각각 OpenXML 기반 언어를 사용하여 해당 웹 기반 API를 설명합니다. 웹 서비스가 제공하는 서비스를 기술하는 데는 WSDL(웹 서비스 기술 언어)이 사용됩니다. CSDL(개념 스키마 정의 언어)은 데이터 서비스가 제공하는 데이터 모델을 기술합니다. 자세한 내용은 WSDL(웹 서비스 기술 언어)개념 스키마 정의 파일 형식을 참조하세요.

웹 서비스

인터넷에 게시되는 대부분의 웹 서비스는 HTTP를 기반으로 하므로, HttpWebRequestWebClient 클래스를 사용해 Windows Phone 앱에서 웹 서비스에 액세스할 수 있습니다. 웹 서비스에 필요한 경우가 많은 추가 코드 생성 작업을 쉽게 수행하려면 서비스 모델 프록시 생성 도구(SLsvcUtil.exe) 또는 Visual Studio의 서비스 참조 추가 기능을 사용하여 프록시 클래스를 생성하면 됩니다. WebClient 클래스를 사용하여 RSS 피드에 액세스하는 방법의 예제는 Windows Phone 8의 기본 RSS 수집기를 만드는 방법를 참조하세요.

웹 서비스 프록시 클래스는 웹 서비스 WSDL 파일을 기반으로 웹 서비스에 대한 직렬화, 요청 및 응답 코드를 구현합니다. Windows Phone 앱에서 생성된 프록시 클래스를 사용하여 해당하는 웹 서비스와 통신할 수 있습니다.

데이터 서비스(OData)

데이터 서비스는 OData(Open Data Protocol)를 구현하여 데이터를 리소스로 표시하는 HTTP 기반 웹 서비스입니다. 이러한 리소스는 데이터 모델로 정의되며 URI를 통해 주소를 지정할 수 있습니다. 따라서 REST(Representational State Transfer)의 의미 체계, 구체적으로는 표준 HTTP 동사인 GET, PUT, POST 및 DELETE를 사용해 데이터에 액세스하고 데이터를 변경할 수 있습니다.

데이터 서비스는 HTTP를 기반으로 하므로 HttpWebRequestWebClient 클래스를 사용해 Windows Phone 앱에서 데이터 서비스에 액세스할 수 있습니다. 데이터 서비스에 필요한 추가 코드 생성 작업을 쉽게 수행하려면 WCF Data Services 클라이언트 유틸리티(DataSvcUtil.exe) 또는 Visual Studio의 서비스 참조 추가 기능을 사용해 데이터 서비스 CSDL 파일을 기반으로 하는 프록시 클래스를 생성하면 됩니다. Windows Phone 앱에서 생성된 프록시 클래스를 사용하여 해당하는 데이터 서비스와 통신할 수 있습니다.

참고참고:

WCF Data Services를 사용하면 .NET Framework 앱에서 웹의 OData(Open Data Protocol) 서비스를 만들고 사용할 수 있습니다. Windows Phone의 OData 클라이언트는 Windows Phone SDK에 포함되지 않으므로 별도로 다운로드해야 합니다. OData 및 WCF Data Services에 대한 자세한 내용은 WCF Data Services Tools for Visual Studio를 참조하세요.

클래스 및 유틸리티

다음 목록에는 웹 요청을 만드는 데 바로 사용할 수 있는 클래스와, Windows Phone 앱에서 특정 종류의 웹 요청을 만들 수 있도록 최적화된 다른 클래스를 생성하는 데 사용 가능한 유틸리티가 나와 있습니다.

  • WebClient 클래스: URI 기반 리소스에서 데이터를 주고받기 위한 일반적인 메서드를 제공합니다.

  • HttpWebRequest 클래스: 추상 WebRequest 클래스의 HTTP 관련 구현을 제공합니다.

  • Silverlight 서비스 모델 프록시 생성 도구(SLsvcUtil.exe): 웹 서비스 WSDL 파일을 기반으로 프록시 클래스를 생성합니다.

  • Visual Studio의 서비스 참조 추가 기능: 웹 서비스 WSDL 파일 또는 데이터 서비스 CSDL 파일을 기반으로 프록시 클래스를 생성합니다.

  • WCF Data Services 클라이언트 유틸리티(DataSvcUtil.exe): 데이터 서비스 CSDL 파일을 기반으로 프록시 클래스를 생성합니다.

다음 표에서는 다양한 유형의 HTTP 기반 프로그래밍에 사용할 수 있는 클래스를 보여 줍니다.

클래스

일반 HTTP 프로그래밍

HTTP 기반 웹 서비스

데이터 서비스

WebClient 클래스

HttpWebRequest 클래스

SLsvcUtil.exe를 통해 생성된 클래스

아니요

아니요

서비스 참조 추가 기능을 통해 생성된 클래스

아니요

DataSvcUtil.exe를 통해 생성된 클래스

아니요

아니요

WebClientHttpWebRequest 클래스는 일반 HTTP 요청에서 웹/데이터 서비스 프로그래밍에 이르기까지 폭넓은 HTTP 기반 프로그래밍에 사용할 수 있습니다. 앱에서 웹 서비스를 사용하는지, 또는 데이터 서비스를 사용하는지에 따라 WebClient 또는 HttpWebRequest 클래스를 단독으로 사용하는 경우 코드를 매우 많이 작성해야 할 수 있습니다.

웹 서비스 또는 데이터 서비스 클라이언트 앱을 개발할 때는 HTTP 수준의 프로그래밍 대신 프록시 클래스를 사용합니다. 프록시 클래스는 각각 해당하는 WSDL 또는 CSDL 파일을 기반으로 웹 서비스 또는 데이터 서비스를 나타내는 클래스입니다. 자세한 내용은 이 항목의 다음 섹션을 참조하세요.

보안 고려 사항

앱 키가 필요한 웹 서비스에 연결할 때는 장치에서 실행할 앱과 함께 앱 키를 저장하지 마세요. 대신 프록시 웹 서비스를 만들어 사용자를 인증한 다음 앱 키를 사용해 외부 클라우드 서비스를 호출합니다. 보안 권장 사항에 대한 자세한 내용은 Windows Phone 8의 웹 서비스 보안을 참조하세요.

웹 서비스의 제한

각 Windows Phone 앱에서는 나가는 연결을 동시에 최대 6개까지만 설정할 수 있습니다.

Windows Phone 앱에서 사용할 웹 서비스 클라이언트 코드를 이식할 때는 .NET API를 통해 코드에 사용되는 메서드가 지원되는지 확인합니다. Windows Phone 에 지원되는 API에 대한 자세한 내용은 Windows Phone용 .NET API를 참조하세요.

표시:
© 2015 Microsoft