NetworkStream クラス

定義

ネットワーク アクセスの基になるデータ ストリームを提供します。

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
継承
NetworkStream
継承
実装

次のコード例は、接続StreamSocketされたから a NetworkStream を作成し、基本的な同期ブロッキング I/O を実行する方法を示しています。

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' 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

注釈

このクラスは NetworkStream 、ブロッキング モードでソケット経由 Stream でデータを送受信するためのメソッドを提供します。 ブロックと非ブロッキング Socketの詳細については、「 非同期クライアント ソケットの使用」を参照してください。 このクラスは NetworkStream 、同期データ転送と非同期データ転送の両方に使用できます。 同期および非同期通信の詳細については、 ソケットを参照してください。

を作成 NetworkStreamするには、接続 Socketを指定する必要があります。 また、指定されたSocket権限に対する権限をNetworkStream指定FileAccessすることもできます。 既定では、閉じると NetworkStream 指定された値は Socket閉じられません。 指定Socketした値をNetworkStream閉じる権限を持つ必要がある場合は、パラメーターの値を指定trueするownsSocket必要があります。

Write単純な単一スレッド同期ブロッキング I/O には、and Read メソッドを使用します。 個別のスレッドを使用して I/O を処理する場合は、通信に使用するBeginWriteEndWriteメソッドまたはBeginReadメソッドをEndRead使用することを検討してください。

ネットワーク NetworkStream データ ストリームへのランダム アクセスはサポートされていません。 ストリームがシークをCanSeekサポートしているかどうかを示すプロパティの値は、常にfalseです。プロパティの読み取り、プロパティのPositionLength読み取り、またはメソッドのSeek呼び出しは、 NotSupportedException.

読み取り操作と書き込み操作は、同期を必要とせずに、クラスの NetworkStream インスタンスで同時に実行できます。 書き込み操作に 1 つの一意のスレッドがあり、読み取り操作に 1 つの一意のスレッドがある限り、読み取りスレッドと書き込みスレッドの間にクロス干渉はなく、同期は必要ありません。

コンストラクター

NetworkStream(Socket)

指定した NetworkStreamSocket クラスの新しいインスタンスを作成します。

NetworkStream(Socket, Boolean)

指定した NetworkStream 所有権を使用して、指定した SocketSocket クラスの新しいインスタンスを初期化します。

NetworkStream(Socket, FileAccess)

指定したアクセス権を持つ、指定した NetworkStreamSocket クラスの新しいインスタンスを作成します。

NetworkStream(Socket, FileAccess, Boolean)

指定したアクセス権と指定した NetworkStream 所有権で、指定した SocketSocket クラスの新しいインスタンスを作成します。

プロパティ

CanRead

NetworkStream が読み取りをサポートしているかどうかを示す値を取得します。

CanSeek

ストリームがシークをサポートしているかどうかを示す値を取得します。 このプロパティは現在サポートされていません。 このプロパティは常に false を返します。

CanTimeout

タイムアウトのプロパティが NetworkStream で使用可能かどうかを示します。

CanTimeout

現在のストリームがタイムアウトできるかどうかを決定する値を取得します。

(継承元 Stream)
CanWrite

NetworkStream が書き込みをサポートしているかどうかを示す値を取得します。

DataAvailable

NetworkStream に読み取り対象のデータがあるかどうかを示す値を取得します。

Length

ストリームで使用できるデータ長を取得します。 このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。

Position

ストリーム内の現在位置を取得または設定します。 このプロパティは現在サポートされていないため、常に NotSupportedException をスローします。

Readable

NetworkStream を読み取ることができるかどうかを示す値を取得または設定します。

ReadTimeout

読み取り操作がデータを待機する時間を取得または設定します。

ReadTimeout

ストリームがタイムアウト前に読み取りを試みる期間を決定する値 (ミリ秒単位) を取得または設定します。

(継承元 Stream)
Socket

基になる Socket を取得します。

Writeable

NetworkStream が書き込み可能かどうかを示す値を取得します。

WriteTimeout

書き込み操作がデータを待機する時間を取得または設定します。

WriteTimeout

ストリームがタイムアウト前に書き込みを試行する期間を決定する値 (ミリ秒単位) を取得または設定します。

(継承元 Stream)

メソッド

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

NetworkStream からの非同期の読み取りを開始します。

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

非同期の読み込み動作を開始します。 (代わりに、ReadAsync(Byte[], Int32, Int32) の使用を検討してください。)

(継承元 Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

ストリームへの非同期の書き込みを開始します。

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

非同期の書き込み操作を開始します。 (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)

(継承元 Stream)
Close()

NetworkStream を閉じます。

Close()

現在のストリームを閉じ、現在のストリームに関連付けられているすべてのリソース (ソケット、ファイル ハンドルなど) を解放します。 このメソッドを呼び出す代わりに、ストリームが適切に破棄されていることを確認します。

(継承元 Stream)
Close(Int32)

指定した時間待機した後、NetworkStream を閉じて、データを送信できるようにします。

Close(TimeSpan)
CopyTo(Stream)

現在のストリームからバイトを読み取り、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CopyTo(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを読み取り、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CopyToAsync(Stream)

現在のストリームからすべてのバイトを非同期に読み取り、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CopyToAsync(Stream, CancellationToken)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたキャンセル トークンを使用して、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CopyToAsync(Stream, Int32)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

指定されたバッファー サイズを使用して、現在のストリームからバイトを非同期に読み取り、指定されたバッファー サイズとキャンセル トークンを使用して、別のストリームに書き込みます。 両方のストリーム位置は、コピーされたバイト数だけ進みます。

(継承元 Stream)
CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
CreateWaitHandle()
互換性のために残されています。
互換性のために残されています。
互換性のために残されています。

WaitHandle オブジェクトを割り当てます。

(継承元 Stream)
Dispose()

Stream によって使用されているすべてのリソースを解放します。

(継承元 Stream)
Dispose(Boolean)

NetworkStream によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

DisposeAsync()

Stream によって使用されているアンマネージ リソースを非同期に解放します。

(継承元 Stream)
EndRead(IAsyncResult)

非同期読み取りの終了を処理します。

EndRead(IAsyncResult)

保留中の非同期読み取りが完了するまで待機します。 (代わりに、ReadAsync(Byte[], Int32, Int32) の使用を検討してください。)

(継承元 Stream)
EndWrite(IAsyncResult)

非同期書き込みの終了を処理します。

EndWrite(IAsyncResult)

非同期書き込み操作を終了します。 (代わりに、WriteAsync(Byte[], Int32, Int32) の使用を検討してください。)

(継承元 Stream)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

NetworkStream によって使用されているすべてのリソースを解放します。

Flush()

ストリームからデータをフラッシュします。 このメソッドは将来使用するために予約されています。

FlushAsync()

ストリームに対応するすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込みます。

(継承元 Stream)
FlushAsync(CancellationToken)

非同期操作として、ストリームからデータをフラッシュします。

FlushAsync(CancellationToken)

ストリームに対応するすべてのバッファーを非同期にクリアし、バッファー内のデータを基になるデバイスに書き込み、キャンセル要求を監視します。

(継承元 Stream)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
互換性のために残されています。

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
互換性のために残されています。

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ObjectInvariant()
互換性のために残されています。

Contract のサポートを提供します。

(継承元 Stream)
Read(Byte[], Int32, Int32)

NetworkStream からデータを読み取り、バイト配列に格納します。

Read(Span<Byte>)

NetworkStream からデータを読み取り、メモリ内のバイトのスパンに格納します。

Read(Span<Byte>)

派生クラスによってオーバーライドされた場合は、現在のストリームからバイト シーケンスを読み取り、読み取ったバイト数の分だけストリームの位置を進めます。

(継承元 Stream)
ReadAsync(Byte[], Int32, Int32)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進めます。

(継承元 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

NetworkStream からデータを読み取り、バイト配列の指定された範囲に非同期操作として格納します。

ReadAsync(Byte[], Int32, Int32, CancellationToken)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。

(継承元 Stream)
ReadAsync(Memory<Byte>, CancellationToken)

NetworkStream からデータを読み取り、非同期操作としてバイト メモリ範囲に格納します。

ReadAsync(Memory<Byte>, CancellationToken)

現在のストリームからバイト シーケンスを非同期に読み取り、読み取ったバイト数だけストリーム内の位置を進め、キャンセル要求を監視します。

(継承元 Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

現在のストリームから少なくとも最小バイト数を読み取り、ストリーム内の位置を読み取ったバイト数だけ進めます。

(継承元 Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

現在のストリームから少なくとも最小バイト数を非同期に読み取り、読み取ったバイト数でストリーム内の位置を進め、取り消し要求を監視します。

(継承元 Stream)
ReadByte()

NetworkStream から 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。または、ストリームの末尾の場合は -1 を返します。

ReadByte()

ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。

(継承元 Stream)
ReadExactly(Byte[], Int32, Int32)

現在のストリームからバイト数を読み取 count り、ストリーム内の位置を進めます。

(継承元 Stream)
ReadExactly(Span<Byte>)

現在のストリームからバイトを読み取り、入力されるまでストリーム内の位置を buffer 進めます。

(継承元 Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

現在のストリームからバイト数を非同期に読み取り count 、ストリーム内の位置を進め、取り消し要求を監視します。

(継承元 Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

現在のストリームからバイトを非同期に読み取り、入力されるまでストリーム内の位置を buffer 進め、取り消し要求を監視します。

(継承元 Stream)
Seek(Int64, SeekOrigin)

ストリームの現在位置を特定の値に設定します。 このメソッドは現在サポートされていないため、常に NotSupportedException をスローします。

SetLength(Int64)

ストリームの長さを設定します。 このメソッドは、常に NotSupportedException をスローします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
Write(Byte[], Int32, Int32)

指定された範囲のバイト配列から NetworkStream にデータを書き込みます。

Write(ReadOnlySpan<Byte>)

読み取り専用のバイト スパンから NetworkStream にデータを書き込みます。

Write(ReadOnlySpan<Byte>)

派生クラスによってオーバーライドされた場合は、現在のストリームにバイト シーケンスを書き込み、書き込んだバイト数の分だけストリームの現在位置を進めます。

(継承元 Stream)
WriteAsync(Byte[], Int32, Int32)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進めます。

(継承元 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

バイト配列の指定された範囲から NetworkStream に、データを非同期操作として書き込みます。

WriteAsync(Byte[], Int32, Int32, CancellationToken)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進め、キャンセル要求を監視します。

(継承元 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

読み取り専用メモリのバイト メモリ範囲から NetworkStream に、データを非同期操作として書き込みます。

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

現在のストリームにバイト シーケンスを非同期に書き込み、書き込んだバイト数だけストリーム内の現在位置を進め、キャンセル要求を監視します。

(継承元 Stream)
WriteByte(Byte)

NetworkStream の現在位置にバイトを書き込み、ストリームの位置を 1 バイト進めます。

WriteByte(Byte)

ストリームの現在位置にバイトを書き込み、ストリームの位置を 1 バイトだけ進めます。

(継承元 Stream)

明示的なインターフェイスの実装

IDisposable.Dispose()

この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。

NetworkStream によって使用されているすべてのリソースを解放します。

拡張メソッド

ConfigureAwait(IAsyncDisposable, Boolean)

非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。

適用対象

こちらもご覧ください