NetworkStream.ReadAsync メソッド

定義

オーバーロード

ReadAsync(Memory<Byte>, CancellationToken)

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

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

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

ReadAsync(Memory<Byte>, CancellationToken)

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

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

パラメーター

buffer
Memory<Byte>

データを書き込むバッファー。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。

戻り値

非同期の読み取り操作を表すタスク ValueTask<TResult>。 その Result プロパティの値には、buffer に読み取られたバイトの合計数が含まれます。

例外

NetworkStream では読み取りがサポートされていません。

ソケットへのアクセス中にエラーが発生しました。

- または -

ネットワークからの読み取りでエラーが発生しました。

NetworkStream が閉じています。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

このメソッドは、 で使用できる量のデータを読み取り、正常に buffer 読み取られたバイト数を返します。

注意

プロパティを呼び出CanReadして、 NetworkStream が読み取り可能かどうかを確認します。 読み取り不可能な から NetworkStream 読み取ろうとすると、 が InvalidOperationException表示されます。

注意

IOException受け取った場合は、 プロパティをInnerExceptionチェックして、 SocketExceptionが原因かどうかを判断します。 その場合は、 プロパティを ErrorCode 使用して特定のエラー コードを取得し、エラーの詳細な説明については 、Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。

適用対象

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

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

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

パラメーター

buffer
Byte[]

データを書き込むバッファー。

offset
Int32

データの格納を開始する buffer 内の場所。

sizecount
Int32

NetworkStream から読み取るバイト数。

cancellationToken
CancellationToken

キャンセル要求を監視するためのトークン。

戻り値

非同期の読み取り操作を表すタスク。 その Result プロパティの値には、buffer に読み取られたバイトの合計数が含まれます。

例外

NetworkStream では読み取りがサポートされていません。

ソケットへのアクセス中にエラーが発生しました。

- または -

ネットワークからの読み取りでエラーが発生しました。

NetworkStream が閉じています。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

このメソッドは にデータを読み取 buffer り、正常に読み取られたバイト数を返します。 この操作では ReadAsync 、 パラメーターで指定されたバイト数まで、使用可能な量のデータを size 読み取ります。

注意

プロパティを呼び出CanReadして、 NetworkStream が読み取り可能かどうかを確認します。 読み取り不可能な から NetworkStream 読み取ろうとすると、 が InvalidOperationException表示されます。

注意

IOException受け取った場合は、 プロパティをInnerExceptionチェックして、 SocketExceptionが原因かどうかを判断します。 その場合は、 プロパティを ErrorCode 使用して特定のエラー コードを取得し、エラーの詳細な説明については 、Windows ソケット バージョン 2 API エラー コード のドキュメントを参照してください。

このメソッドは、メソッドの同期的な例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクの待機時にスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Read(Byte[], Int32, Int32)スローされる例外に関するページを参照してください。

適用対象