NetworkStream クラス
アセンブリ: System (system.dll 内)
構文
解説
NetworkStream は、ブロッキング モードのときに Stream ソケット上でデータを送受信するためのメソッドを提供します。ブロッキングおよび非ブロッキングの Socket の詳細については、「非同期クライアント ソケットの使用」を参照してください。同期データ転送と非同期データ転送の両方で、NetworkStream クラスを使用できます。同期通信および非同期通信の詳細については、「ソケット」を参照してください。
NetworkStream を作成するには、接続された Socket を提供する必要があります。その Socket に対する NetworkStream の FileAccess アクセス許可の種類を指定することもできます。既定では、NetworkStream を閉じても、提供された Socket は閉じません。提供された Socket を閉じるためのアクセス許可を NetworkStream に指定するには、ownsSocket パラメータの値を true にする必要があります。
単純な 1 つのスレッドの同期ブロッキング I/O の場合は、Write メソッドおよび Read メソッドを使用します。個別のスレッドを使用して I/O を処理する必要がある場合は、BeginWrite メソッドと EndWrite メソッドを使用するか、または BeginRead メソッドと EndRead メソッドを使用して通信することを検討します。
NetworkStream は、ネットワーク データ ストリームへのランダム アクセスはサポートしていません。ストリームがシークをサポートしているかどうかを示す CanSeek プロパティの値は常に false です。Position プロパティの読み取り、Length プロパティの読み取り、または、Seek メソッドの呼び出しを実行すると、NotSupportedException がスローされます。
接続された StreamSocket から NetworkStream を作成して、基本同期ブロッキング I/O を実行する方法を次のコード例に示します。
' Create the NetworkStream for communicating with the remote host. Dim myNetworkStream As NetworkStream If networkStreamOwnsSocket Then myNetworkStream = New NetworkStream(mySocket, True) Else myNetworkStream = New NetworkStream(mySocket) End If
// Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket){ myNetworkStream = new NetworkStream(mySocket, true); } else{ myNetworkStream = new NetworkStream(mySocket); }
// Create the NetworkStream for communicating with the remote host. NetworkStream^ myNetworkStream; if ( networkStreamOwnsSocket ) { myNetworkStream = gcnew NetworkStream( mySocket,true ); } else { myNetworkStream = gcnew NetworkStream( mySocket ); }
スレッド セーフ
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- NetworkStream クラスのページへのリンク