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

소켓을 사용하여 연결(XAML)

Applies to Windows and Windows Phone

목적

Windows.Networking.Sockets 네임스페이스의 기능을 사용하는 Windows 런타임 앱에서 TCP 또는 UDP 소켓을 사용하여 데이터를 보내고 받습니다.

소켓은 네트워크 데이터를 보내고 받는 하위 수준 인터페이스를 제공합니다. 소켓과 함께 사용할 수 있는 기본 클래스는 다음과 같습니다.

  • DatagramSocket - UDP 데이터그램 소켓을 사용하여 네트워크 통신을 지원하는 데 사용됩니다.
  • StreamSocket - TCP 스트림 소켓을 사용하여 네트워크 통신을 지원하는 데 사용됩니다.
  • StreamSocketListener - TCP 스트림 소켓을 사용하여 들어오는 네트워크 연결의 수신 대기를 지원하는 데 사용됩니다.

위에 나열된 기본 클래스에는 또한 이러한 클래스와 함께 사용되는 Windows.Networking.Sockets 네임스페이스에 여러 개의 관련 지원 클래스가 있습니다.

대상 개발자 그룹

Windows 스토어 앱에서 네트워크 통신에 소켓을 사용하도록 하는 데 관심이 있는 VB/C#/C++ 및 XAML 사용 개발자가 사용하도록 디자인되었습니다. 이 기능에는 개발자가 다른 더 높은 계층의 네트워킹 프로토콜을 구현할 수 있도록 UDP 멀티캐스트를 비롯하여 TCP 및 UDP 소켓이 포함되어 있습니다. 앱은 TCP 및 UDP 소켓을 사용하여 클라이언트와 연결하고 연결을 수신 대기하고 서버로 작동하거나, 클라이언트 및 서버 작업 모두에 이 소켓을 사용할 수 있습니다.

앱의 요구 사항을 기반으로 하여 다음 프로토콜을 사용하는 것을 고려할 수 있습니다.

앱 요구 사항사용

다른 네트워킹 기능에서 직접 지원하지 않는 기존 프로토콜(예: SMTP, POP, IMAP 또는 메일의 경우 MAPI)을 사용하는 네트워크 서비스에 연결

TCP 또는 UDP 소켓

동일한 로컬 네트워크에 있는 다른 컴퓨터에 연결

TCP 또는 UDP 소켓

HTTP 프록시를 통해 통신할 수 있는 간단한 요청\응답 프로토콜 필요

C#, VB.NET 및 C++를 통해 사용할 수 있는 REST(Representational State Transfer) API

HTTP 프록시 사용을 포함하여 웹을 통해 연결하기 위해 소켓과 같은 의미 체계(비동기, 양방향 전송) 필요

WebSocket

 

소켓은 Windows.Networking.SocketsWindows.Networking 네임스페이스의 클래스에서 지원합니다.

Windows 8에서는 또한 새로운 소켓 유형인 WebSocket을 사용합니다. 자세한 내용은 WebSocket을 사용하여 연결 연결MessageWebSocketStreamWebSocket 클래스를 참조하세요.

개발자는 Windows 8.1, Windows Phone 8.1 및 Windows Server 2012 R2의 네트워크 격리 기능을 사용하여 Windows 런타임 앱의 네트워크 액세스를 제어하고 제한할 수 있습니다. 일부 앱은 네트워크에 대한 액세스 권한이 필요하지 않을 수 있습니다. 그러나 네트워크에 대한 액세스 권한이 필요한 앱의 경우 Windows 8.1 및 Windows Server 2012 R2는 적절한 접근 권한 값을 선택하여 사용할 수 있는 다양한 수준의 네트워크 액세스 권한을 제공합니다. 네트워크 격리는 Windows.Networking.Sockets 및 네트워크에 액세스하려고 하는 관련 네임스페이스의 모든 클래스 요소에 영향을 미칩니다. Windows에서는 적극적으로 네트워크 격리가 적용됩니다. 적절한 네트워크 접근 권한 값을 사용하지 않는 경우 결과적으로 네트워크에 액세스하게 되는 Windows.Networking.Sockets 네임스페이스의 클래스 요소 호출이 네트워크 격리로 인해 실패할 수 있습니다.

앱의 네트워크 접근 권한 값은 앱을 빌드할 때 앱 매니페스트에 구성됩니다. 네트워크 접근 권한 값은 일반적으로 앱을 개발할 때 Microsoft Visual Studio 2013을 사용하여 추가합니다. 텍스트 편집기를 사용하여 앱 매니페스트 파일에서 수동으로 네트워크 접근 권한 값을 설정할 수도 있습니다.

네트워크 격리에 대한 자세한 내용은 네트워크 접근 권한 값을 구성하는 방법을 참조하세요.

이 조항의 내용

항목설명

스트림 소켓을 사용하여 연결하는 방법

이 항목에서는 Windows 런타임 앱이 StreamSocket을 사용하여 TCP 스트림 소켓으로 데이터를 보내고 받을 수 있도록 하는 방법을 보여 줍니다.

데이터그램 소켓을 사용하여 연결하는 방법

이 항목에서는 Windows 런타임 앱이 DatagramSocket을 사용하여 UDP 데이터그램 소켓으로 데이터를 보내고 받을 수 있도록 하는 방법을 보여 줍니다. 이 유형의 소켓을 사용하여 네트워크 패킷을 보내고 받으면 오버헤드는 줄지만 데이터 수신이 보장되지 않습니다.

고급 소켓 컨트롤을 사용하는 방법

이 항목에서는 Windows 런타임 앱의 DatagramSocket, StreamSocket 또는 StreamSocketListener에서 고급 소켓 작업을 설정하는 방법을 보여 줍니다.

TLS/SSL을 통해 소켓 연결의 보안을 유지하는 방법

이 항목에서는 Windows 런타임 앱에서 StreamSocket을 사용할 경우 TLS/SSL을 통해 스트림 소켓 연결의 보안을 유지하는 방법을 설명합니다.

소켓 작업에 시간 제한을 설정하는 방법

이 항목에서는 Windows 런타임 앱에서 네트워크 소켓 작업에 시간 제한을 설정하여 작업이 완료될 때까지 대기하는 시간을 제한하는 방법을 보여 줍니다.

 

관련 항목

다른 리소스
네트워킹 지원 추가
WebSocket을 사용하여 연결
네트워크 격리 접근 권한 값을 구성하는 방법
백그라운드에서 연결된 상태 유지
네트워크 연결 문제 해결 및 디버그
참조
Windows.Networking
Windows.Networking.Connectivity
Windows.Networking.Sockets
샘플
ControlChannelTrigger StreamWebSocket 샘플
StreamSocket 샘플

 

 

표시:
© 2014 Microsoft