NetworkStream クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ネットワーク アクセスの基になるデータ ストリームを提供します。
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 、ブロッキング モードでソケット経由 Stream でデータを送受信するためのメソッドが用意されています。 ブロックと非ブロッキング Socketの詳細については、「 非同期クライアント ソケットの使用」を参照してください。 クラスは NetworkStream 、同期データ転送と非同期データ転送の両方に使用できます。 同期および非同期通信の詳細については、「 ソケット」を参照してください。
を作成するには、 NetworkStream接続されている Socketを指定する必要があります。 指定した Socketに対する FileAccess アクセス許可をNetworkStream指定することもできます。 既定では、 を NetworkStream 閉じても、指定 Socketされた を閉じません。 指定した SocketをNetworkStream閉じるアクセス許可を を持つ場合は、 パラメーターの値に を指定true
するownsSocket
必要があります。
Write単純なシングル スレッド同期ブロッキング I/O には、 メソッドと Read メソッドを使用します。 I/O を非同期的に処理する場合は、 または ValueTaskベースの Task メソッドと WriteAsyncをReadAsync使用することを検討してください。
では NetworkStream 、ネットワーク データ ストリームへのランダム アクセスはサポートされていません。 ストリームがシークをCanSeekサポートしているかどうかを示す プロパティの値は常に false
です。プロパティの読み取り、プロパティのPositionLength読み取り、または メソッドのSeek呼び出しは をNotSupportedExceptionスローします。
読み取りと書き込みの操作は、同期を必要とせずに、 クラスの NetworkStream インスタンスで同時に実行できます。 書き込み操作に一意のスレッドが 1 つあり、読み取り操作に 1 つの一意のスレッドがある限り、読み取りスレッドと書き込みスレッド間のクロス干渉はなく、同期は必要ありません。
コンストラクター
NetworkStream(Socket) |
指定した NetworkStream の Socket クラスの新しいインスタンスを作成します。 |
NetworkStream(Socket, Boolean) |
指定した NetworkStream 所有権を使用して、指定した Socket の Socket クラスの新しいインスタンスを初期化します。 |
NetworkStream(Socket, FileAccess) |
指定したアクセス権を持つ、指定した NetworkStream の Socket クラスの新しいインスタンスを作成します。 |
NetworkStream(Socket, FileAccess, Boolean) |
指定したアクセス権と指定した NetworkStream 所有権で、指定した Socket の Socket クラスの新しいインスタンスを作成します。 |
プロパティ
CanRead |
NetworkStream が読み取りをサポートしているかどうかを示す値を取得します。 |
CanSeek |
ストリームがシークをサポートしているかどうかを示す値を取得します。 このプロパティは現在サポートされていません。 このプロパティは常に |
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 バイト進めます。または、ストリームの末尾の場合は -1 を返します。 |
ReadByte() |
ストリームから 1 バイトを読み取り、ストリーム内の位置を 1 バイト進めます。ストリームの末尾の場合は -1 を返します。 (継承元 Stream) |
ReadExactly(Byte[], Int32, Int32) |
現在のストリームからバイト数を読み取 |
ReadExactly(Span<Byte>) |
現在のストリームからバイトを読み取り、 が入力されるまでストリーム内の位置を |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
現在のストリームからバイト数を非同期に読み取 |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
現在のストリームからバイトを非同期に読み取り、 が満たされるまでストリーム内の位置を |
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) |
非同期の破棄可能から返されるタスク上での待機がどのように実行されるかを構成します。 |
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示