NetworkStream.Read Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.
Le NetworkStream est fermé.
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.
Le NetworkStream est fermé.
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.