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 コンストラクタ (Socket, FileAccess, Boolean)
アセンブリ: System (system.dll 内)

Dim socket As Socket Dim access As FileAccess Dim ownsSocket As Boolean Dim instance As New NetworkStream(socket, access, ownsSocket)


読み取り/書き込みアクセス権を持つ NetworkStream が、指定した Socket に対して作成されます。ownsSocket パラメータの値が true の場合、NetworkStream は基になる Socket の所有権を取得します。NetworkStream.Close メソッドを呼び出すと、基になる Socket も閉じます。
access パラメータが、NetworkStream の CanRead プロパティおよび CanWrite プロパティを設定します。Write を指定すると、NetworkStream で Write メソッドを呼び出すことができます。Read を指定すると、NetworkStream で Read メソッドを呼び出すことができます。ReadWrite を指定した場合は、両方のメソッド呼び出しが許可されます。

Socket の読み取りと書き込みを行うためのアクセス許可を持つ NetworkStream を作成するコード例を次に示します。ownsSocket パラメータを true に設定することで、Socket の所有権がこの NetworkStream に付与されています。
mySocket.Connect(myIpEndPoint) ' Create the NetworkStream for communicating with the remote host. Dim myNetworkStream As NetworkStream If networkStreamOwnsSocket Then myNetworkStream = New NetworkStream(mySocket, FileAccess.ReadWrite, True) Else myNetworkStream = New NetworkStream(mySocket, FileAccess.ReadWrite) End If
mySocket.Connect(myIpEndPoint); // Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket){ myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite, true); } else{ myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite); }
mySocket->Connect( myIpEndPoint ); // Create the NetworkStream for communicating with the remote host. NetworkStream^ myNetworkStream; if ( networkStreamOwnsSocket ) { myNetworkStream = gcnew NetworkStream( mySocket,FileAccess::ReadWrite,true ); } else { myNetworkStream = gcnew NetworkStream( mySocket,FileAccess::ReadWrite ); }
mySocket.Connect(myIpEndPoint); // Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket) { myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite, true); } else { myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite); }

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 コンストラクタ (Socket, FileAccess)
アセンブリ: System (system.dll 内)



指定したアクセス許可を使用して、指定した Socket に対する NetworkStream が作成されます。このコンストラクタでは、NetworkStream は基になる Socket を所有していないため、Close メソッドを呼び出しても、基になる Socket は閉じません。
access パラメータが、NetworkStream の CanRead プロパティおよび CanWrite プロパティを設定します。Write を指定すると、NetworkStream で Write メソッドを呼び出すことができます。Read を指定すると、NetworkStream で Read メソッドを呼び出すことができます。ReadWrite を指定した場合は、両方のメソッド呼び出しが許可されます。

Socket の読み取りと書き込みを行うためのアクセス許可を持つ NetworkStream を作成するコード例を次に示します。
mySocket.Connect(myIpEndPoint) ' Create the NetworkStream for communicating with the remote host. Dim myNetworkStream As NetworkStream If networkStreamOwnsSocket Then myNetworkStream = New NetworkStream(mySocket, FileAccess.ReadWrite, True) Else myNetworkStream = New NetworkStream(mySocket, FileAccess.ReadWrite) End If
mySocket.Connect(myIpEndPoint); // Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket){ myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite, true); } else{ myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite); }
mySocket->Connect( myIpEndPoint ); // Create the NetworkStream for communicating with the remote host. NetworkStream^ myNetworkStream; if ( networkStreamOwnsSocket ) { myNetworkStream = gcnew NetworkStream( mySocket,FileAccess::ReadWrite,true ); } else { myNetworkStream = gcnew NetworkStream( mySocket,FileAccess::ReadWrite ); }
mySocket.Connect(myIpEndPoint); // Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket) { myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite, true); } else { myNetworkStream = new NetworkStream(mySocket, FileAccess.ReadWrite); }

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 コンストラクタ (Socket)
アセンブリ: System (system.dll 内)



読み取り/書き込みアクセス権を持つ NetworkStream が、指定した Socket に対して作成されます。NetworkStream は基になる Socket を所有していないため、Close メソッドを呼び出しても Socket は閉じません。

Socket を使用して、NetworkStream を作成する方法を次のコード例に示します。
' 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 コンストラクタ

名前 | 説明 |
---|---|
NetworkStream (Socket) | 指定した Socket の NetworkStream クラスの新しいインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |
NetworkStream (Socket, Boolean) | 指定した Socket 所有権を使用して、指定した Socket の NetworkStream クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
NetworkStream (Socket, FileAccess) | 指定したアクセス権を持つ、指定した Socket の NetworkStream クラスの新しいインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |
NetworkStream (Socket, FileAccess, Boolean) | 指定したアクセス権と指定した Socket 所有権で、指定した Socket の NetworkStream クラスの新しいインスタンスを作成します。 .NET Compact Framework によってサポートされています。 |

NetworkStream コンストラクタ (Socket, Boolean)
アセンブリ: System (system.dll 内)

Dim socket As Socket Dim ownsSocket As Boolean Dim instance As New NetworkStream(socket, ownsSocket)


読み取り/書き込みアクセス権を持つ NetworkStream が、指定した Socket に対して作成されます。ownsSocket パラメータの値が true の場合、NetworkStream は基になる Socket の所有権を取得します。Close メソッドを呼び出すと、基になる Socket も閉じます。

Socket の所有権を使用して、NetworkStream を作成するコード例を次に示します。
' 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 プロパティ

名前 | 説明 | |
---|---|---|
![]() | CanRead | オーバーライドされます。 NetworkStream が読み取りをサポートしているかどうかを示す値を取得します。 |
![]() | CanSeek | オーバーライドされます。 ストリームがシークをサポートしているかどうかを示す値を取得します。このプロパティは現在サポートされていません。このプロパティは常に false を返します。 |
![]() | CanTimeout | オーバーライドされます。 タイムアウトのプロパティが NetworkStream で使用可能かどうかを示します。 |
![]() | CanWrite | オーバーライドされます。 NetworkStream が書き込みをサポートしているかどうかを示す値を取得します。 |
![]() | Length | オーバーライドされます。 ストリームで使用できるデータ長を取得します。このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。 |
![]() | Position | オーバーライドされます。 ストリーム内の現在位置を取得または設定します。このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。 |
![]() | ReadTimeout | オーバーライドされます。 読み取り操作がデータを待機する時間を取得または設定します。 |
![]() | WriteTimeout | オーバーライドされます。 書き込み操作がデータを待機する時間を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | Readable | NetworkStream を読み取ることができるかどうかを示す値を取得または設定します。 |
![]() | Socket | 基になる Socket を取得します。 |
![]() | Writeable | NetworkStream が書き込み可能かどうかを示す値を取得します。 |

NetworkStream メソッド


名前 | 説明 | |
---|---|---|
![]() | CreateWaitHandle | WaitHandle オブジェクトを割り当てます。 ( Stream から継承されます。) |
![]() | Dispose | オーバーロードされます。 オーバーライドされます。 |
![]() | Finalize | オーバーライドされます。 NetworkStream によって使用されているすべてのリソースを解放します。 |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |


NetworkStream メンバ
ネットワーク アクセス用の基になるデータのストリームを提供します。
NetworkStream データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | CanRead | オーバーライドされます。 NetworkStream が読み取りをサポートしているかどうかを示す値を取得します。 |
![]() | CanSeek | オーバーライドされます。 ストリームがシークをサポートしているかどうかを示す値を取得します。このプロパティは現在サポートされていません。このプロパティは常に false を返します。 |
![]() | CanTimeout | オーバーライドされます。 タイムアウトのプロパティが NetworkStream で使用可能かどうかを示します。 |
![]() | CanWrite | オーバーライドされます。 NetworkStream が書き込みをサポートしているかどうかを示す値を取得します。 |
![]() | Length | オーバーライドされます。 ストリームで使用できるデータ長を取得します。このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。 |
![]() | Position | オーバーライドされます。 ストリーム内の現在位置を取得または設定します。このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。 |
![]() | ReadTimeout | オーバーライドされます。 読み取り操作がデータを待機する時間を取得または設定します。 |
![]() | WriteTimeout | オーバーライドされます。 書き込み操作がデータを待機する時間を取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | Readable | NetworkStream を読み取ることができるかどうかを示す値を取得または設定します。 |
![]() | Socket | 基になる Socket を取得します。 |
![]() | Writeable | NetworkStream が書き込み可能かどうかを示す値を取得します。 |


名前 | 説明 | |
---|---|---|
![]() | CreateWaitHandle | WaitHandle オブジェクトを割り当てます。 (Stream から継承されます。) |
![]() | Dispose | オーバーロードされます。 オーバーライドされます。 |
![]() | Finalize | オーバーライドされます。 NetworkStream によって使用されているすべてのリソースを解放します。 |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |


- NetworkStreamのページへのリンク