NetworkStream.ReadAsync 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
| 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
- 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).