Language

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 の他のプロパティ値に対する変更を設定する必要があります。 その結果、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

プロパティ

Name 説明
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

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

適用対象

関連項目