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 需求
| 規格需求 | 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 |
會獲得一個集合,可用來新增一份支援子協定清單,並在連線握手時向伺服器公告。 |