Partager via


NetworkStream.Read Méthode

Définition

Surcharges

Read(Span<Byte>)

Lit des données dans NetworkStream et les stocke dans une plage d’octets en mémoire.

Read(Byte[], Int32, Int32)

Lit des données dans NetworkStream et les stocke dans un tableau d’octets.

Read(Span<Byte>)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

Lit des données dans NetworkStream et les stocke dans une plage d’octets en mémoire.

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

Paramètres

buffer
Span<Byte>

Zone de mémoire pour stocker les données lues à partir de NetworkStream.

Retours

Nombre d'octets lus à partir de NetworkStream.

Exceptions

NetworkStream ne prend pas en charge la lecture.

Une erreur s’est produite pendant l’accès au socket.

- ou -

Une erreur s'est produite pendant la lecture à partir du réseau.

Remarques

Cette méthode lit autant de données que disponible dans le buffer paramètre et retourne le nombre d’octets correctement lus.

Notes

Vérifiez si le NetworkStream est lisible en appelant la CanRead propriété . Si vous tentez de lire à partir d’un NetworkStream qui n’est pas lisible, vous obtiendrez un InvalidOperationException.

Notes

Si vous recevez un IOException, case activée la InnerException propriété pour déterminer si elle a été provoquée par un SocketException. Si c’est le cas, utilisez la ErrorCode propriété pour obtenir le code d’erreur spécifique et reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.

S’applique à

Read(Byte[], Int32, Int32)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

Lit des données dans NetworkStream et les stocke dans un tableau d’octets.

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

Paramètres

buffer
Byte[]

Tableau de type Byte qui correspond à l'emplacement dans la mémoire pour stocker des données lues à partir de NetworkStream.

offset
Int32

Emplacement de buffer auquel commencer le stockage des données.

sizecount
Int32

Nombre d'octets à lire à partir de NetworkStream.

Retours

Nombre d'octets lus à partir de NetworkStream.

Exceptions

buffer a la valeur null.

offset est inférieur à 0.

- ou -

offset est supérieur à la longueur de buffer.

- ou -

size est inférieur à 0.

- ou -

size est supérieur à la longueur de buffer moins offset.

NetworkStream ne prend pas en charge la lecture.

Une erreur s’est produite pendant l’accès au socket.

- ou -

Une erreur s'est produite pendant la lecture à partir du réseau.

Exemples

L’exemple de code suivant utilise DataAvailable pour déterminer si des données sont disponibles pour être lues. Si des données sont disponibles, elles sont lues à partir de 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);

Remarques

Cette méthode lit les données dans buffer et retourne le nombre d’octets correctement lus. L’opération Read lit autant de données que disponible, jusqu’au nombre d’octets spécifié par le size paramètre.

Notes

Vérifiez si le NetworkStream est lisible en appelant la CanRead propriété . Si vous tentez de lire à partir d’un NetworkStream qui n’est pas lisible, vous obtiendrez un InvalidOperationException.

Notes

Si vous recevez un IOException, case activée la InnerException propriété pour déterminer si elle a été provoquée par un SocketException. Si c’est le cas, utilisez la ErrorCode propriété pour obtenir le code d’erreur spécifique et reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.

Voir aussi

S’applique à