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 属性获取此属性的值,并且可以随时调用。
可以在 MessageWebSocket 连接之前或之后随时更改 MessageType 属性。 这允许应用在需要时在二进制消息和 UTF-8 消息之间切换。
在连接 MessageWebSocket 之前,必须设置 OutboundBufferSizeInBytes 属性。 在 MessageWebSocket 连接后设置此属性不起作用。
在绑定或连接 DatagramSocket 之前,必须设置对 MessageWebSocketControl 上其他属性值所做的任何更改。 因此,如果需要对 MaxMessageSize、ProxyCredential、OutboundBufferSizeInBytes 或 ServerCredential 属性进行更改,则必须在 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 |
获取一个集合,该集合可用于添加支持子协议的列表,这些子协议将在连接握手期间播发到服务器。 |