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のページへのリンク