Partager via


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 l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître 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 en mode silencieux.

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 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 interne soient é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 gracieux du circuit virtuel de l’une des deux manières qui varient selon qu’il s’agit d’un flux d’octets ou d’un message. Pour les flux d’octets, zéro octet ayant été lu indique une fermeture normale et qu’aucun autre octet ne sera jamais lu. Pour les sockets orientés message, où un message de zéro octet est souvent autorisé, un SocketException avec le SocketAsyncEventArgs.SocketError paramètre défini sur le code d’erreur WSAEDISCON natif winsock (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 Winsock WSAECONNRESET natif (10054) indique qu’une fermeture avortée s’est produite.

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 valeurs SocketFlags au niveau du bit 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 valeurs SocketFlags au niveau du bit 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 l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître 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 valeurs SocketFlags au niveau du bit 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 à