Bagikan melalui


NetworkStream.Read Metode

Definisi

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

buffer
Span<Byte>

Wilayah memori untuk menyimpan data yang NetworkStreamdibaca dari .

Mengembalikan

Jumlah byte yang dibaca dari NetworkStream.

Pengecualian

NetworkStream tidak mendukung pembacaan.

Terjadi kesalahan saat mengakses soket.

-atau-

Ada kegagalan membaca dari jaringan.

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

bufferadalah 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.

Terjadi kesalahan saat mengakses soket.

-atau-

Ada kegagalan membaca dari jaringan.

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.

Lihat juga

Berlaku untuk