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

StreamSocket Class

TCP 스트림 소켓 또는 Bluetooth RFCOMM을 사용한 네트워크 통신을 지원합니다.

구문


public ref class StreamSocket sealed : IClosable

특성

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

멤버

StreamSocket클래스에는 다음과 같은 형식의 멤버가 있습니다.

생성자

StreamSocket클래스에는 다음과 같은 생성자가 있습니다.

생성자Description
StreamSocket Creates a new StreamSocket object.

 

메서드

The StreamSocket 클래스 - 이러한 메서드가 있습니다. C#, Visual Basic 및 C++에서는 다음 위치의 메서드도 상속합니다. Object 클래스.

메서드Description
Close [C++, JavaScript]Closes the StreamSocket object.
ConnectAsync(EndpointPair) Starts an asynchronous operation on a StreamSocket object to connect to a remote network destination specified as an EndpointPair object.
ConnectAsync(EndpointPair, SocketProtectionLevel) Starts an asynchronous operation on a StreamSocket object to connect to a remote network destination specified as an EndpointPair object and a SocketProtectionLevel enumeration. This method is not callable from JavaScript.
ConnectAsync(HostName, String) Starts an asynchronous operation on a StreamSocket object to connect to a remote network destination specified by a remote hostname and a remote service name.
ConnectAsync(HostName, String, SocketProtectionLevel) Starts an asynchronous operation on a StreamSocket object to connect to a remote destination specified by a remote hostname, a remote service name, and a SocketProtectionLevel.
ConnectAsync(HostName, String, SocketProtectionLevel, NetworkAdapter) Starts an asynchronous operation on a StreamSocket object on a specified local network adapter to connect to a remote destination specified by a remote hostname, a remote service name, and a SocketProtectionLevel.
Dispose [C#, VB]Performs tasks associated with freeing, releasing, or resetting unmanaged resources.
UpgradeToSslAsync Starts an asynchronous operation to upgrade a connected socket to use SSL on a StreamSocket object.

 

속성

StreamSocket클래스 - 이러한 속성이 있습니다.

속성사용 권한Description

Control

읽기 전용Gets socket control data on a StreamSocket object.

Information

읽기 전용Gets socket information on a StreamSocket object.

InputStream

읽기 전용Gets the input stream to read from the remote destination on a StreamSocket object.

OutputStream

읽기 전용Gets the output stream to write to the remote host on a StreamSocket object.

 

설명

StreamSocket 클래스는 TCP 스트림 소켓 또는 Bluetooth RFCOMM을 사용한 네트워크 통신을 지원합니다.

클라이언트 앱의 경우 StreamSocket을 사용하는 가장 일반적은 작업 순서는 다음과 같습니다.

  • StreamSocket을 만듭니다.
  • Control 속성을 사용하여 StreamSocketControl 개체를 가져오고 ConnectAsync 메서드 중 하나를 호출하기 전에 StreamSocketControl 개체에서 속성을 설정합니다.
  • ConnectAsync 메서드 중 하나를 호출하여 원격 끝점과 연결을 설정합니다. 즉시 SSL/TLS 연결이 필요할 경우 ConnectAsync 메서드의 일부를 사용하여 이를 지정할 수 있습니다. 일부 초기 데이터를 보내고 받은 후에 SSL/TSL 연결이 필요할 경우 UpgradeToSslAsync 메서드를 나중에 호출하여 SSL을 사용하는 연결을 업그레이드할 수 있습니다.
  • 원격 호스트에 데이터를 쓰는 OutputStream 속성을 가져옵니다.
  • 원격 호스트에서 데이터를 읽는 InputStream 속성을 가져옵니다.
  • 필요에 따라 데이터를 읽고 씁니다.
  • Close 메서드를 호출하여 보류 중인 작업을 모두 중단하고 StreamSocket 개체와 연결된 관리되지 않는 모든 리소스를 해제합니다.

참고  Close는 JavaScript로 작성된 Windows 스토어 앱에서 사용됩니다. C# 및 VB.NET에서 .NET Framework 4.5를 사용하여 작성된 앱의 경우 Close 메서드는 StreamSocket에 대한 Dispose() 메서드로 노출됩니다. C++로 작성된 앱의 경우 Close 메서드는 개체에 대해 delete 키워드를 사용할 때 호출됩니다.

또한 StreamSocket 개체는 StreamSocketListener 개체와 함께 서버 앱 또는 피어 투 피어 앱에서 TCP 또는 Bluetooth RFCOMM을 통해 들어오는 연결을 수신하는 데 사용됩니다. StreamSocket 개체는 StreamSocketListener 개체에서 TCP 또는 Bluetooth RFCOMM 연결 요청을 받을 때 ConnectionReceived 이벤트의 Socket에서 반환됩니다. 자세한 내용은 StreamSocketListener을 참조하십시오.

예외 처리

StreamSocket 클래스에서 비동기 메서드를 호출할 때 예외를 처리하는 코드를 작성해야 합니다. 매개 변수 유효성 검사 오류, 이름 확인 실패 및 네트워크 오류에서 예외가 발생할 수 있습니다. 언제든지 네트워크 오류(예: 연결 끊어짐, 연결 실패, 서버 실패)의 예외가 발생할 수 있습니다. 이러한 오류가 발생하면 예외가 throw됩니다. 앱에서 예외를 처리하지 않을 경우 런타임에 의해 전체 앱이 종료될 수 있습니다.

Windows.Networking.Sockets 네임스페이스에는 소켓을 사용할 때 오류 처리에 편리한 도우미 메서드 및 열거형이 있습니다. 앱에서 특정 네트워크 예외를 다르게 처리할 때 유용할 수 있습니다. 앱은 매개 변수 유효성 검사 오류에 대한 예외의 HRESULT를 사용하여 예외를 발생시키는 오류에 대한 자세한 정보를 볼 수 있습니다.

가능한 예외 및 예외 처리 방법에 대한 자세한 내용은 네트워크 앱의 예외 처리를 참조하십시오.

Bluetooth 및 Wifi-Direct와 StreamSocket 사용

앱에서 가까운 범위 내에 있는 장치 간의 네트워크 연결에 StreamSocket을 사용할 수도 있습니다. Windows.Networking.Proximity 네임스페이스의 클래스는 주변 장치에 대해 Bluetooth 또는 Wi-Fi Direct를 사용하는 StreamSocket의 네트워크 연결을 지원합니다. Windows.Networking.Proximity 네임스페이스의 PeerFinder 및 관련 클래스를 사용하여 앱은 주변 장치에서 해당 앱의 다른 인스턴스를 검색할 수 있습니다. 그런 다음 앱에서 탭 제스처를 사용하거나 찾아보기를 통해 인접한 피어 앱에 대한 StreamSocket 연결을 만들 수 있습니다. 자세한 내용은 근접 및 탭하기 지원, Windows.Networking.Proximity, PeerFinder, Windows.Devices.Bluetooth.Rfcomm, 근접 연결 샘플Bluetooth Rfcomm 채팅 샘플을 참조하십시오.

Windows Server 2012에서 StreamSocket 사용

Windows Server 2012 및 Windows Server 2012 R2에서 미디어 파운데이션 기능을 사용하도록 설정되지 않은 경우 Windows.Networking.Sockets 네임스페이스에서 클래스의 대부분을 구현하는 Windows.Networking.dll을 로드하지 못합니다. 결과적으로 Media Foundation 기능을 사용하지 않도록 설정하면 Windows.Networking.Sockets 네임스페이스에 있는 StreamSocket 및 관련 소켓 클래스를 사용하는 앱은 실패합니다. Windows Server 2012 또는 Windows Server 2012 R2를 설치하면 기본적으로 미디어 파운데이션 기능이 해제되어 있습니다.

서버 관리자를 사용하거나 명령 프롬프트나 스크립트에 다음 텍스트를 입력하여 Windows Server 2012 또는 Windows Server 2012 R2에서 Media Foundation 기능을 활성화할 수 있습니다.

dism /online /enable-feature /featurename:ServerMediaFoundation

Media Foundation 기능을 사용하도록 설정한 후 다시 부팅할 것인지 묻는 메시지가 표시됩니다. 컴퓨터를 다시 시작하면 Windows.Networking.Sockets 네임스페이스의 WebSocket 및 소켓용 클래스는 예상대로 작동합니다.

요구 사항

지원되는 최소 클라이언트

Windows 8 [Windows 스토어 앱, 데스크톱 앱]

지원되는 최소 서버

Windows Server 2012 [Windows 스토어 앱, 데스크톱 앱]

지원되는 최소 전화

Windows Phone 8

Namespace

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

Metadata

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

internetClient
privateNetworkClientServer
ID_CAP_NETWORKING [Windows Phone]

참고 항목

기타 리소스
네트워크 서비스에 연결(JavaScript 및 HTML을 사용하는 Windows 스토어 앱)
네트워크 서비스에 연결(C#/VB/C++ 및 XAML을 사용하는 Windows 스토어 앱)
네트워크 앱에서 예외 처리
TLS/SSL로 소켓 연결을 보호하는 방법(JavaScript 및 HTML로 작성된 Windows 스토어 앱)
TLS/SSL로 소켓 연결을 보호하는 방법(C#/VB/C++ 및 XAML로 작성된 Windows 스토어 앱)
배경 연결 옵션을 설정하는 방법
고급 소켓 컨트롤을 사용하는 방법(JavaScript 및 HTML을 사용하는 Windows 스토어 앱)
고급 소켓 컨트롤을 사용하는 방법(C#/VB/C++ 및 XAML을 사용하는 Windows 스토어 앱)
빠른 시작: 스트림 소켓(JavaScript 및 HTML을 사용하는 Windows 스토어 앱)을 사용하여 네트워크 리소스에 연결
빠른 시작: 스트림 소켓(C#/VB/C++ 및 XAML을 사용하는 Windows 스토어 앱)을 사용하여 네트워크 리소스에 연결
근접 및 탭하기 지원
네트워크 연결 문제 해결 및 디버깅
참조
ControlChannelTrigger
IClosable
Object
PeerFinder
SetSocketMediaStreamingMode
StreamSocketListener
StreamSocketListener.ConnectAsync
Windows.Devices.Bluetooth.Rfcomm
Windows.Networking.Proximity
샘플
Bluetooth Rfcomm 채팅 샘플
ControlChannelTrigger StreamSocket 샘플
근접 연결 샘플
StreamSocket 샘플

 

 

표시:
© 2014 Microsoft