MessageWebSocket Class

WebSocket を使用して、メッセージ全体の読み取りと書き込みを可能にするネットワーク通信をサポートします。

構文


var messageWebSocket = new Windows.Networking.Sockets.MessageWebSocket();

属性

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]

メンバー

MessageWebSocketクラス には次の種類のメンバーがあります。

コンストラクター

MessageWebSocketクラス にはこれらのコンストラクターがあります。

コンストラクター説明
MessageWebSocket Creates a new MessageWebSocket object.

 

イベント

MessageWebSocketクラス にはこれらのイベントがあります。

イベント説明
Closed Occurs when a close frame is received on the MessageWebSocket object as part of the close handshake.
MessageReceived An event that indicates that a message was received on the MessageWebSocket object.

 

メソッド

The MessageWebSocket クラス には次のメソッドがあります。 With C#、Visual Basic、および C++ では、以下からもメソッドが継承されます。Object クラス.

メソッド説明
Close() [C++, JavaScript]Closes the MessageWebSocket object and sends an empty close frame to the server.
Close(UInt16, String) Closes the MessageWebSocket object and indicates a reason for the closure.
ConnectAsync Starts an asynchronous operation to connect to a remote network destination on a MessageWebSocket object.
Dispose [C#, VB]Performs tasks associated with freeing, releasing, or resetting unmanaged resources.
SetRequestHeader Adds an HTTP request header to the HTTP request message used in the WebSocket protocol handshake by the MessageWebSocket object.

 

プロパティ

MessageWebSocketクラス には次のプロパティがあります。

プロパティアクセスの種類説明

Control

読み取り専用Gets socket control data on a MessageWebSocket object.

Information

読み取り専用Gets socket information on a MessageWebSocket object.

OutputStream

読み取り専用Gets the output stream to write to the remote network destination on a MessageWebSocket object.

 

解説

MessageWebSocket クラスにより、WebSocket プロトコルのメッセージ ベースの抽象化が可能になります。MessageWebSocket を使用する場合は、WebSocket メッセージ全体が単一の操作で読み書きされます。これとは対照的に、StreamWebSocket では、メッセージのセクションを各読み取り操作で読み取ることができるため、メッセージ全体を 1 つの操作で読み取る必要はありません。

UTF-8 メッセージの場合は、MessageWebSocket を使用する必要があります。StreamWebSocket はバイナリ メッセージのみをサポートします。

例外処理

MessageWebSocket クラスに対して非同期メソッドを呼び出す場合は、例外を処理するコードを記述する必要があります。 パラメーターの検証エラー、名前解決の失敗、およびネットワーク エラーによって例外が発生することがあります。ネットワーク エラー (接続の喪失、接続の失敗、HTTP サーバー障害など) による例外は、いつでも発生する可能性があります。 これらのエラーが発生すると、例外がスローされます。例外がアプリで処理されない場合は、ランタイムによってアプリ全体が終了することがあります。

Windows.Networking.Sockets 名前空間には、WebSocket を使用するときにエラーを処理するための便利なヘルパー メソッドと列挙体があります。これは、アプリによって異なる特定のネットワーク例外の処理に役立つ場合があります。アプリは、パラメーター検証エラーの例外から HRESULT を使用して、例外の原因となったエラーの詳細情報を得ることもできます。

発生する可能性がある例外と例外を処理する方法の詳細については、「Handling exceptions in network apps (ネットワーク アプリでの例外の処理)」を参照してください。

Windows Server 2012 での MessageWebSocket の使用

Windows Server 2012 および Windows Server 2012 R2 では、メディア ファンデーション機能が有効になっていない場合、Windows.Networking.Sockets 名前空間のほとんどのクラスを実装する Windows.Networking.dll は読み込まれません。その結果、Windows.Networking.Sockets 名前空間で MessageWebSocket と関連 WebSocket クラスを使用するアプリは、メディア ファンデーション機能が無効な場合、失敗します。Windows Server 2012 または Windows Server 2012 R2 は、メディア ファンデーション機能が無効の設定でインストールされます。

メディア ファンデーション機能は、 Windows Server 2012 または Windows Server 2012 R2 でサーバー マネージャーを使用するか、コマンド プロンプトに次のテキストまたはスクリプトを入力することによって有効にできます。

dism /online /enable-feature /featurename:ServerMediaFoundation

メディア ファンデーション機能が有効にされると、再起動するように求められます。コンピューターを再起動すると、ソケットと WebSocket を扱う Windows.Networking.Sockets 名前空間のクラスが期待どおりに機能します。

要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリ, デスクトップ アプリ]

最小限サポートされるサーバー

Windows Server 2012 [Windows ストア アプリ, デスクトップ アプリ]

名前空間

Windows.Networking.Sockets
Windows::Networking::Sockets [C++]

メタデータ

Windows.winmd

DLL

Windows.Networking.dll

Capabilities

internetClient
privateNetworkClientServer

参照

WebSockets を使った接続
ネットワーク アプリでの例外の処理
クイック スタート: MessageWebSocket を使った接続
WebSockets を使った接続のサンプル

 

 

表示:
© 2014 Microsoft