MessageWebSocketControl 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
MessageWebSocket에 소켓 제어 데이터를 제공합니다.
public ref class MessageWebSocketControl sealed
public ref class MessageWebSocketControl sealed : IWebSocketControl2
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class MessageWebSocketControl final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class MessageWebSocketControl final : IWebSocketControl2
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class MessageWebSocketControl
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class MessageWebSocketControl : IWebSocketControl2
Public NotInheritable Class MessageWebSocketControl
Public NotInheritable Class MessageWebSocketControl
Implements IWebSocketControl2
- 상속
- 특성
- 구현
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
설명
MessageWebSocketControl 클래스는 MessageWebSocket 개체의 고급 소켓 제어 데이터에 대한 액세스를 제공합니다.
MessageWebSocketControl 개체는 부모 MessageWebSocket 개체를 사용하여 자동으로 만들어집니다. MessageWebSocket.Control 속성은 연결된 MessageWebSocket 개체에 대한 액세스를 제공합니다.
SupportedProtocols 속성은 이 속성의 값을 가져오며 언제든지 호출할 수 있습니다.
MessageType 속성은 MessageWebSocket이 연결되기 전이나 후에 언제든지 변경할 수 있습니다. 이렇게 하면 필요할 때 앱이 이진 메시지와 UTF-8 메시지 간에 전환할 수 있습니다.
MessageWebSocket이 연결되기 전에 OutboundBufferSizeInBytes 속성을 설정해야 합니다. MessageWebSocket이 연결된 후에 이 속성을 설정해도 효과가 없습니다.
DatagramSocket이 바인딩되거나 연결되기 전에 MessageWebSocketControl의 다른 속성 값에 대한 변경 내용을 설정해야 합니다. 따라서 MaxMessageSize, ProxyCredential, OutboundBufferSizeInBytes 또는 ServerCredential 속성을 변경해야 하는 경우 MessageWebSocket에서 ConnectAsync 메서드를 성공적으로 호출하기 전에 이러한 변경 내용이 발생해야 합니다.
다음 예제에서는 MessageWebSocket을 만든 다음 MessageWebSocketControl.MessageType 속성을 이진으로 설정하는 방법을 보여 줍니다. (다른 속성도 비슷한 방식으로 설정할 수 있습니다.) 이 작업이 완료되면 앱에서 MessageWebSocket을 연결할 수 있습니다.
using Windows.Networking.Sockets;
MessageWebSocket clientWebSocket = new MessageWebSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
SocketMessageType currentSetting = clientWebSocket.Control.MessageType;
// Set messageType to Binary.
clientWebSocket.Control.MessageType = SocketMessageType.Binary;
// Now you can call the ConnectAsync method to connect the MessageWebSocket.
#include <winrt/Windows.Networking.Sockets.h>
using namespace winrt;
...
Windows::Networking::Sockets::MessageWebSocket clientSocket;
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
auto currentSetting{ clientSocket.Control().MessageType() };
// Set QualityOfService to Binary.
clientSocket.Control().MessageType(Windows::Networking::Sockets::SocketMessageType::Binary);
// Now you can call the ConnectAsync function to connect the MessageWebSocket.
using namespace Windows::Networking::Sockets;
MessageWebSocket^ clientWebSocket = ref new MessageWebSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
SocketMessageType currentSetting = clientWebSocket->Control->MessageType;
// Set messageType to Binary.
clientWebSocket->Control->MessageType = SocketMessageType::Binary;
// Now you can call the ConnectAsync method to connect the MessageWebSocket.
MessageWebSocketControl 사용에 대한 자세한 내용은 고급 WebSocket 컨트롤을 사용하는 방법을 참조하세요.
버전 기록
Windows 버전 | SDK 버전 | 추가된 값 |
---|---|---|
1607 | 14393 | IgnorableServerCertificateErrors |
1709 | 16299 | ActualUnsolicitedPongInterval |
1709 | 16299 | ClientCertificate |
1709 | 16299 | DesiredUnsolicitedPongInterval |
1709 | 16299 | ReceiveMode |
속성
ActualUnsolicitedPongInterval |
앱에서 실제 원치 않는 WebSocket PONG 간격을 가져올 수 있습니다. |
ClientCertificate |
보안 WebSocket 연결이 설정된 경우 클라이언트에서 제공하는 인증서를 가져옵니다. |
DesiredUnsolicitedPongInterval |
앱에서 원치 않는 WebSocket PONG 간격을 가져와서 설정할 수 있습니다. |
IgnorableServerCertificateErrors |
무시 가능한 서버 인증서 오류 목록을 가져옵니다. 이 목록을 가져와서 보안 WebSocket(wss:// 프로토콜) 서버 인증서 유효성 검사 프로세스 중에 무시하려는 서버 인증서 오류에 대한 ChainValidationResult 값을 추가합니다. |
MaxMessageSize |
MessageWebSocket 개체에 구성될 WebSocket 메시지의 최대 메시지 크기(바이트)입니다. |
MessageType |
쓰기 작업을 위해 MessageWebSocket 개체에 구성할 WebSocket 메시지 유형입니다. |
OutboundBufferSizeInBytes |
MessageWebSocket 개체에서 데이터를 보내는 데 사용할 송신 버퍼의 크기(바이트)입니다. |
ProxyCredential |
MessageWebSocket 개체를 사용하여 HTTP 헤더 인증을 통해 프록시 서버에 인증하는 데 사용할 자격 증명입니다. |
ReceiveMode |
클라이언트가 전체 메시지 또는 부분 메시지 수신을 제어할 수 있습니다. |
ServerCredential |
MessageWebSocket 개체를 사용하여 HTTP 헤더 인증을 통해 WebSocket 서버에 인증하는 데 사용할 자격 증명입니다. |
SupportedProtocols |
연결 핸드셰이크 중에 서버에 보급될 지원되는 하위 프로토콜 목록을 추가하는 데 사용할 수 있는 컬렉션을 가져옵니다. |