Socket.ReceiveAsync Méthode

Définition

Surcharges

ReceiveAsync(ArraySegment<Byte>)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(IList<ArraySegment<Byte>>)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(SocketAsyncEventArgs)

Démarre une demande asynchrone pour recevoir les données d'un objet Socket connecté.

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(Memory<Byte>, CancellationToken)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Reçoit des données à partir d’un socket connecté.

ReceiveAsync(ArraySegment<Byte>)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer);
member this.ReceiveAsync : ArraySegment<byte> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte)) As Task(Of Integer)

Paramètres

buffer
ArraySegment<Byte>

Mémoire tampon pour les données reçues.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.

S’applique à

ReceiveAsync(IList<ArraySegment<Byte>>)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte))) As Task(Of Integer)

Paramètres

buffers
IList<ArraySegment<Byte>>

Liste des mémoires tampons pour les données reçues.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Le paramètre buffers était null.

Une erreur s’est produite pendant la tentative d’accès au socket.

Remarques

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le é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 manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Receive(IList<ArraySegment<Byte>>).

S’applique à

ReceiveAsync(SocketAsyncEventArgs)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Démarre une demande asynchrone pour recevoir les données d'un objet Socket connecté.

public:
 bool ReceiveAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveAsync (e As SocketAsyncEventArgs) As Boolean

Paramètres

e
SocketAsyncEventArgs

Objet SocketAsyncEventArgs à utiliser pour cette opération de socket asynchrone.

Retours

true si l’opération d’E/S est en attente. L'événement Completed sur le paramètre e sera déclenché une fois l'opération terminée.

false si l’opération d’E/S a été terminée de manière synchrone. Dans ce cas, l'événement Completed sur le paramètre e ne sera pas déclenché et l'objet e transmis en tant que paramètre peut être examiné immédiatement après que l'appel de méthode a été retourné pour extraire le résultat de l'opération.

Exceptions

Un argument n'était pas valide. La propriété Buffer ou BufferList sur le paramètre de e doit référencer des mémoires tampon valides. L'une ou l'autre de ces propriétés peut être définie, mais pas les deux à la fois.

Une opération de socket utilisant l'objet SocketAsyncEventArgs spécifié dans le paramètre e spécifié était déjà en cours.

Une erreur s’est produite pendant la tentative d’accès au socket.

Remarques

La ReceiveAsync méthode est utilisée sur les sockets connectés ou les sockets sans connexion liés et est utilisée pour lire les données entrantes. L’adresse locale du socket doit être connue.

Pour les sockets sans connexion liés, cette fonction limite les adresses à partir desquelles les messages reçus sont acceptés. La fonction retourne uniquement les messages de l’adresse distante spécifiée dans la connexion. Les messages provenant d’autres adresses sont ignorés silencieusement.

La SocketAsyncEventArgs.SocketFlags propriété sur le e paramètre fournit au fournisseur de services Windows Sockets des informations supplémentaires sur la demande de lecture. Pour plus d’informations sur l’utilisation de ce paramètre, consultez System.Net.Sockets.SocketFlags.

Les propriétés et événements suivants sur l’objet System.Net.Sockets.SocketAsyncEventArgs sont nécessaires pour appeler correctement cette méthode :

L’appelant peut définir la SocketAsyncEventArgs.UserToken propriété sur n’importe quel objet d’état utilisateur souhaité avant d’appeler la ReceiveAsync méthode, afin que les informations soient récupérables dans la méthode de rappel. Si le rappel a besoin de plus d’informations qu’un seul objet, une petite classe peut être créée pour contenir les autres informations d’état requises en tant que membres.

Pour les sockets de type flux d’octets, les données entrantes sont placées dans la mémoire tampon jusqu’à ce que la mémoire tampon soit remplie, que la connexion soit fermée ou que les données mises en mémoire tampon en interne sont épuisées.

Pour les sockets orientés message, un message entrant est placé dans la mémoire tampon jusqu’à la taille totale de la mémoire tampon associée au e paramètre . Si le message est plus grand que la mémoire tampon, la mémoire tampon est remplie avec la première partie du message.

Pour les sockets orientés connexion, la ReceiveAsync méthode peut indiquer l’arrêt normal du circuit virtuel de l’une des deux manières qui varient selon que le socket est orienté flux d’octets ou message. Pour les flux d’octets, zéro octet ayant été lu indique une fermeture normale et qu’aucun autre octet ne sera lu. Pour les sockets orientés messages, où un message de zéro octet est souvent autorisé, un SocketException avec défini SocketAsyncEventArgs.SocketError sur le code d’erreur WSAEDISCON winsock natif (10101) est utilisé pour indiquer une fermeture normale. Dans tous les cas, un SocketException avec le SocketAsyncEventArgs.SocketError défini sur le code d’erreur WSAECONNRESET winsock natif (10054) indique qu’une fermeture a été abandonnée.

Voir aussi

S’applique à

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)

Paramètres

buffer
ArraySegment<Byte>

Mémoire tampon pour les données reçues.

socketFlags
SocketFlags

Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de la réception des données.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.

S’applique à

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)

Paramètres

buffers
IList<ArraySegment<Byte>>

Liste des mémoires tampons pour les données reçues.

socketFlags
SocketFlags

Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de la réception des données.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Le paramètre buffers était null.

Une erreur s’est produite pendant la tentative d’accès au socket.

Remarques

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le é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 manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Receive(IList<ArraySegment<Byte>>, SocketFlags).

S’applique à

ReceiveAsync(Memory<Byte>, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

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

Paramètres

buffer
Memory<Byte>

Mémoire tampon pour les données reçues.

cancellationToken
CancellationToken

Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.

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

S’applique à

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Reçoit des données à partir d’un socket connecté.

public System.Threading.Tasks.ValueTask<int> ReceiveAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Paramètres

buffer
Memory<Byte>

Mémoire tampon pour les données reçues.

socketFlags
SocketFlags

Combinaison de bits de valeurs SocketFlags qui seront utilisées lors de la réception des données.

cancellationToken
CancellationToken

Jeton d’annulation qui peut être utilisé pour annuler l’opération asynchrone.

Retours

Tâche asynchrone qui se termine avec le nombre d’octets reçus.

Exceptions

Une erreur s’est produite pendant la tentative d’accès au socket.

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

S’applique à