NetworkStream.ReadAsync Méthode

Définition

Surcharges

Nom Description
ReadAsync(Memory<Byte>, CancellationToken)

Lit les données à partir de la NetworkStream plage de mémoire d’octets et les stocke dans une plage de mémoire d’octets en tant qu’opération asynchrone.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lit les données à partir des données NetworkStream et les stocke dans une plage spécifiée d’un tableau d’octets en tant qu’opération asynchrone.

ReadAsync(Memory<Byte>, CancellationToken)

Lit les données à partir de la NetworkStream plage de mémoire d’octets et les stocke dans une plage de mémoire d’octets en tant qu’opération asynchrone.

public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Paramètres

buffer
Memory<Byte>

Mémoire tampon dans laquelle écrire les données.

cancellationToken
CancellationToken

Jeton à surveiller pour les demandes d’annulation.

Retours

Qui ValueTask<TResult> représente l’opération de lecture asynchrone. La valeur de sa Result propriété contient le nombre total d’octets lus entre buffer zéro (0) et le nombre d’octets demandés. La valeur de résultat est égale à zéro (0) uniquement si zéro octets a été demandé ou si aucun autre octet n’est disponible, car le socket homologue a effectué un arrêt normal. Si zéro octets est demandé, les opérations de lecture peuvent se terminer immédiatement ou ne pas se terminer tant qu’au moins un octet n’est pas disponible (mais sans consommer de données).

Exceptions

La NetworkStream lecture ne prend pas en charge la lecture.

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

-ou-

Il existe une erreur de lecture à partir du réseau.

La NetworkStream fermeture est terminée.

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

Cette méthode lit autant de données que possible buffer et retourne le nombre d’octets lus avec succès.

Note

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

Note

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

S’applique à

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lit les données à partir des données NetworkStream et les stocke dans une plage spécifiée d’un tableau d’octets en tant qu’opération asynchrone.

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
abstract member ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

Paramètres

buffer
Byte[]

Mémoire tampon dans laquelle écrire les données.

offset
Int32

Emplacement dans buffer lequel commencer le stockage des données.

countsize
Int32

Nombre d’octets à lire à partir du NetworkStream.

cancellationToken
CancellationToken

Jeton à surveiller pour les demandes d’annulation.

Retours

Tâche qui représente l’opération de lecture asynchrone. La valeur de sa Result propriété contient le nombre total d’octets lus entre buffer zéro (0) et le nombre d’octets demandés. La valeur de résultat est égale à zéro (0) uniquement si zéro octets a été demandé ou si aucun autre octet n’est disponible, car le socket homologue a effectué un arrêt normal. Si zéro octets est demandé, les opérations de lecture peuvent se terminer immédiatement ou ne pas se terminer tant qu’au moins un octet n’est pas disponible (mais sans consommer de données).

Exceptions

La NetworkStream lecture ne prend pas en charge la lecture.

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

-ou-

Il existe une erreur de lecture à partir du réseau.

La NetworkStream fermeture est terminée.

Le jeton d’annulation a été annulé. Cette exception est stockée dans la tâche retournée.

Remarques

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

Note

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

Note

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

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par Read(Byte[], Int32, Int32).

S’applique à