NetworkStream.Read Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
Read(Span<Byte>) |
dosyasındaki 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
dosyasındaki 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
'den NetworkStreamokunan verileri depolamak için bellek bölgesi.
Döndürülenler
'den NetworkStreamokunan bayt sayısı.
Özel durumlar
, NetworkStream okumayı desteklemez.
Kapalı NetworkStream .
Açıklamalar
Bu yöntem, parametresinde buffer
kullanılabilir olan kadar veri okur ve başarıyla okunan bayt sayısını döndürür.
Not
özelliğini çağırarak CanRead öğesinin NetworkStream okunabilir olup olmadığını denetleyin. Okunamayan bir NetworkStream öğeden okumaya çalışırsanız, bir InvalidOperationExceptionalırsınız.
Not
bir IOExceptionalırsanız, özelliğini denetleyerek InnerException nedeninin bir SocketExceptionolup olmadığını belirleyin. Bu durumda, belirli bir hata kodunu almak için özelliğini kullanın ErrorCode ve hatanın ayrıntılı açıklaması için Windows Yuvaları 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
'den NetworkStream verileri okur ve bir bayt dizisine depolar.
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
Parametreler
- buffer
- Byte[]
bellekteki konumundan Byte okunan NetworkStreamverileri depolamak için kullanılan tür dizisi.
- offset
- Int32
Verilerin depolanacağını konum buffer
.
- sizecount
- Int32
'den NetworkStreamokunacak bayt sayısı.
Döndürülenler
'den NetworkStreamokunan bayt sayısı.
Özel durumlar
buffer
, null
değeridir.
offset
0'dan küçüktür.
-veya-
offset
, uzunluğundan buffer
büyüktür.
-veya-
size
0'dan küçüktür.
-veya-
size
, eksi offset
değerinden buffer
büyük.
, NetworkStream okumayı desteklemez.
Kapalı NetworkStream .
Örnekler
Aşağıdaki kod örneği, verilerin okunmaya uygun olup olmadığını belirlemek için kullanır DataAvailable . Kullanılabilir veriler varsa, veri kaynağından NetworkStreamokur.
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 size
belirtilen bayt sayısına kadar kullanılabilir olduğu kadar veri okur.
Not
özelliğini çağırarak CanRead öğesinin NetworkStream okunabilir olup olmadığını denetleyin. Okunamayan bir NetworkStream öğeden okumaya çalışırsanız, bir InvalidOperationExceptionalırsınız.
Not
bir IOExceptionalırsanız, özelliğini denetleyerek InnerException nedeninin bir SocketExceptionolup olmadığını belirleyin. Bu durumda, belirli bir hata kodunu almak için özelliğini kullanın ErrorCode ve hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.