次の方法で共有


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 プロパティは、このプロパティの値を取得し、いつでも呼び出すことができます。

MessageType プロパティは、MessageWebSocket が接続される前または後にいつでも変更できます。 これにより、アプリは必要に応じ、バイナリ メッセージと UTF-8 メッセージを切り替えることができます。

MessageWebSocket が接続される前に、OutboundBufferSizeInBytes プロパティを設定する必要があります。 MessageWebSocket が接続された後にこのプロパティを設定しても、効果はありません。

DatagramSocket がバインドまたは接続される前に、MessageWebSocketControl の他のプロパティ値に対する変更を設定する必要があります。 その結果、MaxMessageSizeProxyCredentialOutboundBufferSizeInBytes、または ServerCredential プロパティを変更する必要がある場合は、MessageWebSocketConnectAsync メソッドを正常に呼び出す前に、これらの変更が発生する必要があります。

次の例では、 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

接続ハンドシェイク中にサーバーにアドバタイズされるサポートされているサブプロトコルの一覧を追加するために使用できるコレクションを取得します。

適用対象

こちらもご覧ください