MessageWebSocketControl 类

定义

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
继承
Object Platform::Object IInspectable MessageWebSocketControl
属性
实现

Windows 要求

设备系列
Windows 10 (在 10.0.10240.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v1.0 中引入)

注解

MessageWebSocketControl 类提供对 MessageWebSocket 对象上的高级套接字控制数据的访问。

MessageWebSocketControl 对象是使用父 MessageWebSocket 对象自动创建的。 MessageWebSocket.Control 属性提供对关联的 MessageWebSocket 对象的访问。

SupportedProtocols 属性获取此属性的值,并且可以随时调用。

可以在 MessageWebSocket 连接之前或之后随时更改 MessageType 属性。 这允许应用在需要时在二进制消息和 UTF-8 消息之间切换。

在连接 MessageWebSocket 之前,必须设置 OutboundBufferSizeInBytes 属性。 在 MessageWebSocket 连接后设置此属性不起作用。

在绑定或连接 DatagramSocket 之前,必须设置对 MessageWebSocketControl 上其他属性值所做的任何更改。 因此,如果需要对 MaxMessageSizeProxyCredentialOutboundBufferSizeInBytesServerCredential 属性进行更改,则必须在 MessageWebSocket 上成功调用 ConnectAsync 方法之前进行这些更改。

以下示例创建 MessageWebSocket,然后演示如何将 MessageWebSocketControl.MessageType 属性设置为 binary。 (可能以类似的方式设置其他属性。) 完成此操作后,应用可以连接 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

获取一个集合,该集合可用于添加支持子协议的列表,这些子协议将在连接握手期间播发到服务器。

适用于

另请参阅