語言

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 需求

規格需求 Description
裝置系列
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 連接後設定此屬性則無效。

MessageWebSocketControl 上其他屬性值的任何變更都必須在綁定或連接 DatagramSocket 之前設定。 因此,如果你需要更改 MaxMessageSize、ProxyCredential、OutboundBufferSizeInBies 或 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 實際未請求的PongInterval
1709 16299 用戶端憑證
1709 16299 渴望的非請求PongInterval
1709 16299 接收模式

屬性

名稱 Description
ActualUnsolicitedPongInterval

允許應用程式取得實際未經請求的 WebSocket PONG 間隔。

ClientCertificate

當建立安全 WebSocket 連線時,會取得客戶端提供的憑證。

DesiredUnsolicitedPongInterval

允許應用程式取得並設定想要的非請求 WebSocket PONG 間隔。

IgnorableServerCertificateErrors

會收到一份可忽略的伺服器憑證錯誤清單。 取得此清單,並在安全 WebSocket(wss:// 協定)伺服器憑證驗證過程中,新增 ChainValidationResult 值,以涵蓋您希望忽略的伺服器憑證錯誤。

MaxMessageSize

WebSocket 訊息在 MessageWebSocket 物件上可設定的最大訊息大小(以位元組為單位)。

MessageType

WebSocket 訊息類型將在 MessageWebSocket 物件上設定用於寫入操作。

OutboundBufferSizeInBytes

用於傳送 MessageWebSocket 物件資料的 send buffer 大小(以位元組為單位)。

ProxyCredential

該憑證用於透過 HTTP 標頭認證,使用 MessageWebSocket 物件向代理伺服器進行認證。

ReceiveMode

允許用戶端控制接收完整或部分訊息。

ServerCredential

這是用來透過 HTTP 標頭認證,使用 MessageWebSocket 物件來驗證 WebSocket 伺服器的憑證。

SupportedProtocols

會獲得一個集合,可用來新增一份支援子協定清單,並在連線握手時向伺服器公告。

適用於

另請參閱