StreamWebSocket クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
WebSocket を使用したストリームの読み取りと書き込みを可能にするネットワーク通信をサポートします。
public ref class StreamWebSocket sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StreamWebSocket final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class StreamWebSocket final : IClosable
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StreamWebSocket : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class StreamWebSocket : System.IDisposable
function StreamWebSocket()
Public NotInheritable Class StreamWebSocket
Implements IDisposable
- 継承
- 属性
- 実装
Windows の要件
| 要件 | 説明 |
|---|---|
| デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
| API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
| アプリの機能 |
internetClient
privateNetworkClientServer
|
注釈
StreamWebSocket クラスは、メッセージ ベースの WebSocket プロトコルのストリームベースの抽象化を提供します。 これは、大きなファイル (写真や映画など) を転送する必要があるシナリオに役立ちます。 StreamWebSocket を使用すると、( MessageWebSocket と同様に) メッセージ全体を 1 回の操作で読み取る必要はなく、各読み取り操作でメッセージのセクションを読み取ることができます。
StreamWebSocket はバイナリ メッセージのみをサポートします。 UTF-8 メッセージの場合は、 MessageWebSocket を使用する必要があります。
例外の処理
StreamWebSocket クラスで非同期メソッドを呼び出すときに例外を処理するコードを記述する必要があります。 例外は、パラメーター検証エラー、名前解決エラー、およびネットワーク エラーによって発生する可能性があります。 ネットワーク エラーの例外 (接続の損失、接続エラー、HTTP サーバーの障害など) は、いつでも発生する可能性があります。 これらのエラーにより、例外がスローされます。 アプリによって処理されない場合、例外によってアプリ全体がランタイムによって終了される可能性があります。
Windows。Networking.Sockets 名前空間には、WebSocket を使用するときにエラーを処理するための便利なヘルパー メソッドと列挙があります。 これは、アプリで特定のネットワーク例外を異なる方法で処理する場合に役立ちます。 アプリでは、パラメーター検証エラーの例外から HRESULT を使用して、例外の原因となったエラーの詳細を確認することもできます。
考えられる例外と例外の処理方法の詳細については、「 ネットワーク アプリでの例外の処理」を参照してください。
Windows Server 2012での StreamWebSocket の使用
Windows Server 2012および Windows Server 2012 R2 では、Windowsのほとんどのクラスを実装する Windows.Networking.dll。 Media Foundation 機能が有効になっていない限り、Networking.Sockets 名前空間の読み込みに失敗します。 その結果、streamWebSocket および関連する WebSocket クラスをWindowsで使用するアプリ。 Media Foundation 機能が無効になっている場合、Networking.Sockets 名前空間は失敗します。 Windows Server 2012または Windows Server 2012 R2 は、Media Foundation 機能を無効にしてインストールします。
Media Foundation 機能は、サーバー マネージャーを使用するか、コマンド プロンプトまたはスクリプトに次のテキストを入力して、Windows Server 2012または Windows Server 2012 R2 で有効にすることができます。
dism /online /enable-feature /featurename:ServerMediaFoundation Media Foundation 機能を有効にすると、ユーザーは再起動を求められます。 コンピューターが再起動されると、Windows内のソケットと WebSocket のクラス。Networking.Sockets 名前空間は想定どおりに動作します。
バージョン履歴
| Windows のバージョン | SDK のバージョン | 付加価値 |
|---|---|---|
| 1607 | 14393 | ServerCustomValidationRequested |
コンストラクター
| Name | 説明 |
|---|---|
| StreamWebSocket() |
新しい StreamWebSocket オブジェクトを 作成します。 |
プロパティ
| Name | 説明 |
|---|---|
| Control |
StreamWebSocket オブジェクトのソケット コントロール データを取得します。 |
| Information |
StreamWebSocket オブジェクトのソケット情報を取得します。 |
| InputStream |
StreamWebSocket オブジェクトのリモート宛先から読み取る入力ストリームを取得します。 |
| OutputStream |
StreamWebSocket オブジェクトのリモート ネットワーク宛先に書き込む出力ストリームを取得します。 |
メソッド
| Name | 説明 |
|---|---|
| Close() |
StreamWebSocket を閉じ、空の閉じるフレームをサーバーに送信します。 |
| Close(UInt16, String) |
StreamWebSocket を閉じ、クロージャの理由を示します。 |
| ConnectAsync(Uri) |
StreamWebSocket オブジェクトのリモート ネットワーク宛先に接続するための非同期操作を開始します。 |
| Dispose() |
アンマネージド リソースの解放、解放、またはリセットに関連付けられているアプリケーション定義のタスクを実行します。 |
| SetRequestHeader(String, String) |
StreamWebSocket オブジェクトによって WebSocket プロトコル ハンドシェイクで使用される HTTP 要求メッセージに HTTP 要求ヘッダーを追加します。 |
イベント
| Name | 説明 |
|---|---|
| Closed |
閉じるハンドシェイクの一部として StreamWebSocket オブジェクトでクローズ フレームを受信したときに発生します。 |
| ServerCustomValidationRequested |
セキュリティで保護されたサーバー URI (wss: protocol) への新しい StreamWebSocket 接続が検証されるときに発生します。 接続のカスタム サーバー検証を実装する場合は、このイベントを処理します。 |