语言

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 对象上的高级套接字控制数据的访问权限。

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

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

可以在 MessageWebSocket 连接之前或之后随时更改 MessageType 属性。 这允许应用在需要时在二进制消息和 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 客户端证书
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

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

适用于

另请参阅