Windows.Networking.Sockets Namespace

Windows ストア アプリにバックグラウンドで受信されるリアルタイムのネットワーク通知に対してネットワーク通信とクラスで使用するための、ソケットと WebSockets クラスを提供します。

メンバー

Windows.Networking.Sockets名前空間 には次の種類のメンバーがあります。

クラス

Windows.Networking.Sockets名前空間 にはこれらのクラスがあります。

クラス説明
ControlChannelTrigger Enables real time notifications to be received in the background for class elements in the Windows.Networking.Sockets namespace and other networking transports.
DatagramSocket Supports network communication using a UDP datagram socket.
DatagramSocketControl Provides socket control data on a DatagramSocket object.
DatagramSocketInformation Provides socket information on a DatagramSocket object.
DatagramSocketMessageReceivedEventArgs Provides data for a MessageReceived event on a DatagramSocket.
MessageWebSocket Supports network communication that allows reading and writing whole messages using a WebSocket.
MessageWebSocketControl Provides socket control data on a MessageWebSocket.
MessageWebSocketInformation Provides socket information on a MessageWebSocket.
MessageWebSocketMessageReceivedEventArgs Provides data for a message received event on a MessageWebSocket.
SocketError Provides socket error status for operations on a DatagramSocket, StreamSocket, or StreamSocketListener.
StreamSocket Supports network communication using a stream socket over TCP or Bluetooth RFCOMM.
StreamSocketControl Provides socket control data on a StreamSocket object.
StreamSocketInformation Provides socket information on a StreamSocket object.
StreamSocketListener Supports listening for an incoming network connection using a TCP stream socket or Bluetooth RFCOMM.
StreamSocketListenerConnectionReceivedEventArgs Provides data for a ConnectionReceived event on a StreamSocketListener object.
StreamSocketListenerControl Provides socket control data on a StreamSocketListener object.
StreamSocketListenerInformation Provides socket information on a StreamSocketListener object.
StreamWebSocket Supports network communication that allows reading and writing streams using a WebSocket.
StreamWebSocketControl Provides socket control data on a StreamWebSocket object.
StreamWebSocketInformation Provides socket information on a StreamWebSocket object.
WebSocketClosedEventArgs Provides data for a closed event on a MessageWebSocket, StreamWebSocket, or IWebSocket object.
WebSocketError Provides socket error status on a MessageWebSocket or StreamWebSocket object.
WebSocketKeepAlive Provides the ability to send a WebSocket protocol keep-alive on a connected WebSocket.

 

列挙型

Windows.Networking.Sockets名前空間 には以下の列挙体があります。

列挙型説明
ControlChannelTriggerResetReason The reason why a ControlChannelTrigger was reset.
ControlChannelTriggerResourceType The resource type used by a control channel trigger.
ControlChannelTriggerStatus Specifies if the system was able to complete configuration of a ControlChannelTrigger object for use by class elements in the Windows.Networking.Sockets and related namespaces.
SocketErrorStatus Specifies status values for a socket operation.
SocketMessageType Specifies the type of a message for a MessageWebSocket object.
SocketProtectionLevel Specifies the level of encryption to use on a StreamSocket object.
SocketQualityOfService Specifies the quality of service for a DatagramSocket or StreamSocket object.
SocketSslErrorSeverity The category of error that occurs on an SSL connection.

 

インターフェイス

Windows.Networking.Sockets名前空間 はこれらのインターフェイスを定義します。

インターフェイス説明
IControlChannelTriggerEventDetails An object instantiated by the background broker infrastructure that is used to differentiate control channel triggers.
IControlChannelTriggerResetEventDetails An object instantiated by the background broker infrastructure for a ControlChannelReset event to indicate that a ControlChannelTrigger was reset.
IWebSocket Provides access to network communication that allows reading and writing using a WebSocket.
IWebSocketControl Provides socket control data on an IWebSocket object.
IWebSocketInformation Provides socket information on an IWebSocket object.

 

構造体

Windows.Networking.Sockets名前空間 にはこれらの構造体があります。

構造体説明
BandwidthStatistics Represents bandwidth information for network data transfer using a StreamSocket, StreamWebSocket, or MessageWebSocket object.
RoundTripTimeStatistics Represents round trip time information for a StreamSocket object.

 

解説

Windows.Networking.Sockets 名前空間は、ソケットと WebSocket を使用するネットワークにクラスおよびインターフェイスを提供します。基底クラスには次のものがあります。

  • DatagramSocket - UDP データグラム ソケットを使用してネットワーク通信を行います。
  • StreamSocket - RFCOMM を使用する TCP 上または Bluetooth 接続 上の送受信ネットワーク通信に使用するストリーム ソケット。
  • StreamSocketListener - 受信 TCP ネットワーク接続または RFCOMM を使用する受信 Bluetooth 接続をリッスンするストリーム ソケット リスナー。
  • MessageWebSocket - ネットワーク通信用のメッセージ全体の読み取りと書き込みを行うメッセージベースの WebSocket。
  • StreamWebSocket - ネットワーク通信用のストリームの読み取りと書き込みを行うストリームベースの WebSocket。

これらの主なクラスには、Windows.Networking.Sockets 名前空間の関連の情報クラスや制御クラスもいくつかあります。

例外処理

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

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

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

Bluetooth および Wifi-Direct による StreamSocket の使用

独自のアプリケーションは、近距離内にある複数のデバイス間でネットワーク接続を確立するために、StreamSocket を使用することもできます。Windows.Networking.Proximity 名前空間のクラスでは、Bluetooth RFCOMM または Wi-Fi Direct を使用する StreamSocket による、近くのデバイスへのネットワーク接続がサポートされます。 Windows.Networking.Proximity 名前空間の PeerFinder および関連クラスにより、アプリでは近くのデバイス上のアプリの別のインスタンスを検出できます。 独自のアプリケーションは、タップ ジェスチャまたは参照を使用して、近くのピア アプリケーションへの StreamSocket 接続を作成できます。 詳細については、「近接通信とタップのサポート」、Windows.Networking.ProximityPeerFinderWindows.Devices.Bluetooth.Rfcomm、「近接通信のサンプル」および「Bluetooth Rfcomm Chat サンプル」を参照してください。

ネットワーク トリガーの使用

Windows.Networking.Sockets 名前空間にも、バックグラウンド ネットワークで使用するネットワーク制御チャネル トリガー用のクラスがあります。ControlChannelTrigger を使用すると、アプリが背景にある場合、アプリはネットワーク データ パケットのデータやネットワークの keep-alive を受け取ることができます。これによりアプリは、Windows.Networking.Sockets 名前空間と、関連する名前空間のその他のネットワークのクラスの StreamSocket にリアルタイム状態やネットワークの通知を提供できます。

ネットワーク トリガーは、ネットワークとシステムのリソースの使用を最小限に抑えるために、長時間実行されるネットワーク アプリケーション (電子メール アプリケーションなど) で使用されます。ネットワーク トリガーは、アプリをある期間低電力モードに下げ、ネットワーク接続を維持したまま低電力状態にします。アプリケーションが起動する必要があるときをシステムに通知するキープアライブ間隔を設定できます。アプリケーションは、このアプリケーションのパケットを受信すると通知するようにトリガーを設定することもできます。これらの通知機能により、モバイル デバイスで長時間実行されるネットワーク アプリケーションを使用する場合のバッテリ残量を延長することができます。

詳細については、「ControlChannelTrigger」クラスおよび「バックグラウンド接続オプションの設定方法」を参照してください。

Windows Server 2012 でのソケットと WebSocket の使用

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

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

dism /online /enable-feature /featurename:ServerMediaFoundation

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

ネットワーク分離を使用したソケットと WebSocket の使用

Windows 8 のネットワーク分離は、開発者が Windows ストア アプリのセキュリティ プロファイルを完全に制御できるようにします。

ネットワークの分離により、適切な機能を選択して、各アプリケーションに必要なネットワーク アクセスを定義することができます。適切な機能セットがないアプリケーションは、特定の種類のネットワーク (インターネットまたはホーム\社内ネットワーク) と特定のネットワーク要求 (クライアントが開始する送信要求、または未承認の受信要求とクライアントが開始する送信要求の両方) を使用できません。 ネットワークの分離を実行する機能によって、アプリが危害を受けた場合でも、アプリが機能として許可された機能 (ネットワークの種類およびネットワーク要求など) のみを使用することができます。これにより、他のアプリケーションとオペレーティング システムに影響を与える可能性が大幅に縮小します。

Windows 8 では、ネットワーク分離がアクティブに適用されます。 適切なネットワーク機能が有効になっていないと、Windows.Networking.Sockets 名前空間 (またはネットワーク アクセスを必要とする関連する名前空間) でのメソッドの呼び出しやプロパティへのアクセスが失敗する場合があります。

アプリケーションのネットワーク機能は、アプリケーション構築時にアプリケーションのマニフェスト内に設定されます。ネットワーク機能は、通常、アプリの開発時に Visual Studio を使用して追加されます。 これらは、テキスト エディターを使用して、アプリケーション マニフェスト ファイルに手動で設定することもできます。

ネットワーク分離の詳細については、「方法: ネットワークの分離を構成または再構成する」を参照してください。

要件

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

Windows 8

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

Windows Server 2012

最小限サポートされる携帯電話

Windows Phone 8

名前空間

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

メタデータ

Windows.winmd

DLL

Windows.Networking.dll;
Windows.Networking.Sockets.Pushenabledapplication.dll

Capabilities

ID_CAP_NETWORKING [Windows Phone]

参照

その他のリソース
ネットワークのサポートの追加
ネットワーク サービスへの接続
WebSocket サービスへの接続
ネットワーク アプリでの例外の処理
ネットワーク分離機能を構成する方法
バックグラウンド接続のオプションを設定する方法
タップと近接のサポート
ネットワーク接続のトラブルシューティングおよびデバッグ
参照
PeerFinder
SetSocketMediaStreamingMode
Windows.Devices.Bluetooth.Rfcomm
Windows.Networking Namespace
Windows.Networking.Connectivity Namespace
Windows.Networking.Proximity
サンプル
Bluetooth Rfcomm Chat サンプル
DatagramSocket サンプル
WebSockets を使った接続のサンプル
ControlChannelTrigger TCP ソケット サンプル
近接通信のサンプル
StreamSocket のサンプル

 

 

表示:
© 2014 Microsoft