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
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
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 byte yang dibaca dari NetworkStream.
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.
Catatan
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.
Catatan
Jika Anda menerima IOException, periksa InnerException properti untuk menentukan apakah itu disebabkan oleh SocketException. Jika demikian, gunakan ErrorCode properti untuk mendapatkan kode kesalahan tertentu dan lihat dokumentasi kode kesalahan WINDOWS Sockets versi 2 API untuk deskripsi terperinci tentang kesalahan tersebut.
Berlaku untuk
Read(Byte[], Int32, Int32)
- 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 size);
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int size);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, size As Integer) As Integer
Public Overrides Function Read (buffer As Byte(), offset As Integer, count 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.
- sizecount
- Int32
Jumlah byte yang akan dibaca dari NetworkStream.
Mengembalikan
Jumlah byte yang dibaca dari NetworkStream.
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 menggunakan DataAvailable untuk menentukan apakah data tersedia untuk dibaca. Jika data tersedia, data akan dibaca dari NetworkStream.
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 ini Read
membaca data sebanyak yang tersedia, hingga jumlah byte yang ditentukan oleh size
parameter .
Catatan
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.
Catatan
Jika Anda menerima IOException, periksa InnerException properti untuk menentukan apakah itu disebabkan oleh SocketException. Jika demikian, gunakan ErrorCode properti untuk mendapatkan kode kesalahan tertentu dan lihat dokumentasi kode kesalahan WINDOWS Sockets versi 2 API untuk deskripsi terperinci tentang kesalahan tersebut.