NetworkStream.Read Yöntem

Tanım

Aşırı Yüklemeler

Name Description
Read(Span<Byte>)

içindeki NetworkStream verileri okur ve bellekteki bir bayt aralığına depolar.

Read(Byte[], Int32, Int32)

'den NetworkStream verileri okur ve bir bayt dizisine depolar.

Read(Span<Byte>)

Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs

içindeki NetworkStream verileri okur ve bellekteki bir bayt aralığına depolar.

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

Parametreler

buffer
Span<Byte>

'den NetworkStreamokunan verileri depolamak için bellek bölgesi.

Döndürülenler

Arabelleğe okunan, sıfır (0) ile arabelleğin uzunluğu arasındaki toplam bayt sayısı. yöntemi yalnızca sıfır bayt istendiyse veya eş yuva düzgün bir kapatma gerçekleştirdiğinden kullanılabilir bayt sayısı fazla olmadığında sıfır (0) döndürür.

Özel durumlar

NetworkStream, okumayı desteklemez.

Yuvaya erişilirken bir hata oluştu.

-veya-

Ağdan okuma hatası oluştu.

Açıklamalar

Bu yöntem, parametresinde buffer kullanılabilen kadar veri okur ve başarıyla okunan bayt sayısını döndürür.

Note

özelliğini çağırarak NetworkStream öğesinin CanRead okunabilir olup olmadığını denetleyin. Okunamayan bir NetworkStream öğeden okumaya çalışırsanız, bir InvalidOperationExceptionalırsınız.

Note

bir IOExceptionalırsanız, özelliğine InnerException bir neden SocketExceptionolup olmadığını denetleyin. Bu durumda, ErrorCode özelliğini kullanarak belirli bir hata kodunu alın ve hatanın ayrıntılı açıklaması için Windows Sockets sürüm 2 API hata kodu belgelerine bakın.

Şunlara uygulanır

Read(Byte[], Int32, Int32)

Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs
Kaynak:
NetworkStream.cs

'den NetworkStream verileri okur ve bir bayt dizisine depolar.

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

Parametreler

buffer
Byte[]

dosyasından okunan Byteverileri depolamak için bellekteki konum olan tür NetworkStream dizisi.

offset
Int32

Verilerin depolanacağını konum buffer .

countsize
Int32

'den NetworkStreamokunacak bayt sayısı.

Döndürülenler

Sıfır (0) ile istenen sayı arasındaki arabelleğe okunan toplam bayt sayısı. yöntemi yalnızca sıfır bayt istendiyse veya eş yuva düzgün bir kapatma gerçekleştirdiğinden kullanılabilir bayt sayısı fazla olmadığında sıfır (0) döndürür.

Özel durumlar

buffer, null'e eşittir.

offset 0'dan küçüktür.

-veya-

offset , uzunluğundan bufferbüyüktür.

-veya-

size 0'dan küçüktür.

-veya-

size, eksi bufferuzunluğundan offset büyüktür.

NetworkStream, okumayı desteklemez.

Yuvaya erişilirken bir hata oluştu.

-veya-

Ağdan okuma hatası oluştu.

Örnekler

Aşağıdaki kod örneği, 'den NetworkStream bir arabelleğe veri okur. Kullanılabilir veriler varsa, akışın sonuna ulaşılana kadar okumaya devam eder ve alınan verileri öğesine StringBuilderekler.

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);

Açıklamalar

Bu yöntem verileri içine buffer okur ve başarıyla okunan bayt sayısını döndürür. İşlem Read , parametresi tarafından count belirtilen bayt sayısına kadar kullanılabilir olduğu kadar veri okur.

Note

özelliğini çağırarak NetworkStream öğesinin CanRead okunabilir olup olmadığını denetleyin. Okunamayan bir NetworkStream öğeden okumaya çalışırsanız, bir InvalidOperationExceptionalırsınız.

Note

bir IOExceptionalırsanız, özelliğine InnerException bir neden SocketExceptionolup olmadığını denetleyin. Bu durumda, ErrorCode özelliğini kullanarak belirli bir hata kodunu alın ve hatanın ayrıntılı açıklaması için Windows Sockets sürüm 2 API hata kodu belgelerine bakın.

Ayrıca bkz.

Şunlara uygulanır