NetworkStream.Read Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
| Nama | Deskripsi |
|---|---|
| Read(Span<Byte>) |
Membaca data dari NetworkStream dan menyimpannya ke rentang byte dalam memori. |
| Read(Byte[], Int32, Int32) |
Membaca data dari NetworkStream dan menyimpannya ke array byte. |
Read(Span<Byte>)
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
Membaca data dari NetworkStream dan menyimpannya ke rentang byte dalam memori.
public:
override int Read(Span<System::Byte> buffer);
public override int Read(Span<byte> buffer);
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer
Parameter
Wilayah memori untuk menyimpan data yang NetworkStreamdibaca dari .
Mengembalikan
Jumlah total byte yang dibaca ke dalam buffer, antara nol (0) dan panjang buffer. Metode mengembalikan nol (0) hanya jika nol byte diminta atau jika tidak ada lagi byte yang tersedia karena soket peer melakukan pematian yang anggun.
Pengecualian
NetworkStream Tidak mendukung pembacaan.
Sudah NetworkStream ditutup.
Keterangan
Metode ini membaca data sebanyak yang tersedia ke dalam buffer parameter dan 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
Read(Byte[], Int32, Int32)
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
- Sumber:
- NetworkStream.cs
Membaca data dari NetworkStream dan menyimpannya ke array byte.
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int size);
public override int Read(byte[] buffer, int offset, int count);
public override int Read(byte[] buffer, int offset, int size);
override this.Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Public Overrides Function Read (buffer As Byte(), offset As Integer, size As Integer) As Integer
Parameter
- buffer
- Byte[]
Array jenis Byte yang merupakan lokasi dalam memori untuk menyimpan data yang NetworkStreamdibaca dari .
- offset
- Int32
Lokasi di buffer untuk mulai menyimpan data.
- countsize
- Int32
Jumlah byte yang akan dibaca dari NetworkStream.
Mengembalikan
Jumlah total byte yang dibaca ke dalam buffer antara nol (0) dan jumlah yang diminta. Metode mengembalikan nol (0) hanya jika nol byte diminta atau jika tidak ada lagi byte yang tersedia karena soket peer melakukan pematian yang anggun.
Pengecualian
buffer adalah null.
offset kurang dari 0.
-atau-
offset lebih besar dari panjang buffer.
-atau-
size kurang dari 0.
-atau-
size lebih besar dari panjang buffer minus offset.
NetworkStream Tidak mendukung pembacaan.
Sudah NetworkStream ditutup.
Contoh
Contoh kode berikut membaca data dari NetworkStream ke dalam buffer. Jika data tersedia, data akan terus membaca hingga akhir aliran tercapai, menambahkan data yang diterima ke StringBuilder.
byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
// Read all the data until the end of stream has been reached.
// The incoming message may be larger than the buffer size.
while (numberOfBytesRead > 0)
{
myCompleteMessage.Append(Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
}
// Print out the received message to the console.
Console.WriteLine("You received the following message : " + myCompleteMessage);
Keterangan
Metode ini membaca data ke dalam buffer dan mengembalikan jumlah byte yang berhasil dibaca. Operasi membaca Read 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.