StreamSocketControl クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
StreamSocket オブジェクトのソケット コントロール データを提供します。
public ref class StreamSocketControl sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class StreamSocketControl final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class StreamSocketControl
Public NotInheritable Class StreamSocketControl
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
アプリの機能 |
bluetooth.rfcomm
ID_CAP_NETWORKING [Windows Phone]
|
注釈
StreamSocketControl クラスは、 StreamSocket オブジェクトの高度なソケット制御データへのアクセスを提供します。
StreamSocketControl オブジェクトは、親 StreamSocket オブジェクトを使用して自動的に作成されます。 StreamSocket.Control プロパティは、関連付けられた StreamSocketControl オブジェクトへのアクセスを提供します。
StreamSocketControl のプロパティ値に対する変更は、 StreamSocket が接続される前に設定する必要があります。 その結果、ClientCertificate、IgnorableServerCertificateErrors、KeepAlive、NoDelay、OutboundBufferSizeInBytes、OutboundUnicastHopLimit、または QualityOfService プロパティを変更する必要がある場合は、StreamSocket で ConnectAsync メソッドの 1 つを正常に呼び出す前に、これらの変更が発生する必要があります。
ClientCertificate を使用して、関連付けられている StreamSocket オブジェクト経由でセキュリティで保護された接続を行うために使用するクライアント証明書を設定します。
次の例では、 StreamSocket を作成し、 NoDelay プロパティを false に設定する方法を示 します。 他のプロパティも同様の方法で設定できます。 これが完了すると、アプリは StreamSocket に接続できます。
using Windows.Networking.Sockets;
StreamSocket clientSocket = new StreamSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting = clientSocket.Control.NoDelay;
// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket.Control.NoDelay = false;
// Now you can call the ConnectAsync method to connect the StreamSocket.
#include <winrt/Windows.Networking.Sockets.h>
using namespace winrt;
...
Windows::Networking::Sockets::StreamSocket clientSocket;
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting{ clientSocket.Control().NoDelay() };
// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket.Control().NoDelay(false);
// Now you can call the ConnectAsync function to connect the StreamSocket.
using namespace Windows::Networking::Sockets;
StreamSocket^ clientSocket = ref new StreamSocket();
// Get the current setting for this option.
// This isn't required, but it shows how to get the current setting.
bool currentSetting = clientSocket->Control->NoDelay;
// Set NoDelay to false so that the Nagle algorithm is not disabled.
clientSocket->Control->NoDelay = false;
// Now you can call the ConnectAsync method to connect the StreamSocket.
StreamSocketControl の使用方法の詳細については、「 高度なソケット コントロールを使用する方法」を参照してください。
バージョン履歴
Windows のバージョン | SDK バージョン | 追加された値 |
---|---|---|
1709 | 16299 | MinProtectionLevel |
プロパティ
ClientCertificate |
サーバーがクライアント証明書を要求した場合にサーバーに送信されるクライアント SSL/TLS 証明書を取得または設定します。 |
IgnorableServerCertificateErrors |
StreamSocket との SSL 接続を確立するときに無視する SSL サーバー エラーのベクトルを取得します。 |
KeepAlive |
キープアライブ パケットが StreamSocket オブジェクトのリモート宛先に送信されるかどうかを示す 値です。 |
MinProtectionLevel |
開発者が TLS を必要とする ConnectAsync() または UpgradeToSslAsync() メソッドを使用するときにネゴシエートされる TLS プロトコルのバージョンを制限します。 |
NoDelay |
StreamSocket オブジェクトで Nagle アルゴリズムを使用するかどうかを示す 値。 |
OutboundBufferSizeInBytes |
StreamSocket オブジェクトでデータを送信するために使用される送信バッファーのサイズ (バイト単位)。 |
OutboundUnicastHopLimit |
StreamSocket オブジェクトによってユニキャスト IP アドレスに送信される送信パケットのホップ制限。 |
QualityOfService |
StreamSocket オブジェクトのサービス品質。 |
SerializeConnectionAttempts |
複数の接続試行が行われている場合に、試行が並列または直列に行われるかどうかを示す 値。 |