NetworkStream.ReadAsync Metode

Definisi

Overload

Nama Deskripsi
ReadAsync(Memory<Byte>, CancellationToken)

Membaca data dari NetworkStream dan menyimpannya dalam rentang memori byte sebagai operasi asinkron.

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

Membaca data dari NetworkStream dan menyimpannya ke rentang array byte tertentu sebagai operasi asinkron.

ReadAsync(Memory<Byte>, CancellationToken)

Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs

Membaca data dari NetworkStream dan menyimpannya dalam rentang memori byte sebagai operasi asinkron.

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)

Parameter

buffer
Memory<Byte>

Buffer untuk menulis data.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan.

Mengembalikan

ValueTask<TResult> yang mewakili operasi baca asinkron. Nilai propertinya Result berisi jumlah total byte yang dibaca antara buffer nol (0) dan jumlah byte yang diminta. Nilai hasilnya adalah nol (0) hanya jika nol byte diminta atau jika tidak ada lagi byte yang tersedia karena soket peer melakukan pematian yang anggun. Jika tidak ada byte yang diminta, operasi baca dapat segera selesai atau mungkin tidak selesai sampai setidaknya satu byte tersedia (tetapi tanpa mengonsumsi data apa pun).

Pengecualian

NetworkStream Tidak mendukung pembacaan.

Terjadi kesalahan saat mengakses soket.

-atau-

Ada kegagalan membaca dari jaringan.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Metode ini membaca data sebanyak yang tersedia dan buffer mengembalikan jumlah byte yang berhasil dibaca.

Note

Periksa untuk melihat apakah NetworkStream dapat dibaca dengan memanggil CanRead properti . Jika Anda mencoba membaca dari NetworkStream yang tidak dapat dibaca, Anda akan mendapatkan InvalidOperationException.

Note

Jika Anda menerima IOException, periksa InnerException properti untuk menentukan apakah itu disebabkan oleh SocketException. Jika demikian, gunakan properti ErrorCode untuk mendapatkan kode kesalahan tertentu dan lihat kode kesalahan API Windows Soket versi 2 dokumentasi untuk deskripsi terperinci tentang kesalahan tersebut.

Berlaku untuk

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

Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs
Sumber:
NetworkStream.cs

Membaca data dari NetworkStream dan menyimpannya ke rentang array byte tertentu sebagai operasi asinkron.

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

Parameter

buffer
Byte[]

Buffer untuk menulis data.

offset
Int32

Lokasi di buffer untuk mulai menyimpan data.

countsize
Int32

Jumlah byte yang akan dibaca dari NetworkStream.

cancellationToken
CancellationToken

Token yang akan dipantau untuk permintaan pembatalan.

Mengembalikan

Tugas yang mewakili operasi baca asinkron. Nilai propertinya Result berisi jumlah total byte yang dibaca antara buffer nol (0) dan jumlah byte yang diminta. Nilai hasilnya adalah nol (0) hanya jika nol byte diminta atau jika tidak ada lagi byte yang tersedia karena soket peer melakukan pematian yang anggun. Jika tidak ada byte yang diminta, operasi baca dapat segera selesai atau mungkin tidak selesai sampai setidaknya satu byte tersedia (tetapi tanpa mengonsumsi data apa pun).

Pengecualian

NetworkStream Tidak mendukung pembacaan.

Terjadi kesalahan saat mengakses soket.

-atau-

Ada kegagalan membaca dari jaringan.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Keterangan

Metode ini membaca data ke dalam buffer dan mengembalikan jumlah byte yang berhasil dibaca. Operasi membaca ReadAsync data sebanyak yang tersedia, hingga jumlah byte yang ditentukan oleh count parameter .

Note

Periksa untuk melihat apakah NetworkStream dapat dibaca dengan memanggil CanRead properti . Jika Anda mencoba membaca dari NetworkStream yang tidak dapat dibaca, Anda akan mendapatkan InvalidOperationException.

Note

Jika Anda menerima IOException, periksa InnerException properti untuk menentukan apakah itu disebabkan oleh SocketException. Jika demikian, gunakan properti ErrorCode untuk mendapatkan kode kesalahan tertentu dan lihat kode kesalahan API Windows Soket versi 2 dokumentasi untuk deskripsi terperinci tentang kesalahan tersebut.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Read(Byte[], Int32, Int32).

Berlaku untuk