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
継承
実装

注釈

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

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

単純なシングル スレッド同期ブロッキング I/O には、Write メソッドと Read メソッドを使用します。 I/O を非同期的に処理する場合は、Task または ValueTaskベースのメソッドの ReadAsyncWriteAsyncを使用することを検討してください。

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

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

コンストラクター

NetworkStream(Socket)

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

NetworkStream(Socket, Boolean)

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

NetworkStream(Socket, FileAccess)

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

NetworkStream(Socket, FileAccess, Boolean)

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

プロパティ

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)

指定した時間待機してデータの送信を許可した後、NetworkStream を閉じます。

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 を返します。

ReadByte()

ストリームからバイトを読み取り、ストリーム内の位置を 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で使用されているすべてのリソースを解放します。

拡張メソッド

CopyToAsync(Stream, PipeWriter, CancellationToken)

キャンセル トークンを使用して、Stream からバイトを非同期に読み取り、指定した PipeWriterに書き込みます。

ConfigureAwait(IAsyncDisposable, Boolean)

非同期破棄から返されるタスクの待機を実行する方法を構成します。

適用対象

こちらもご覧ください