Socket.ReceiveFromAsync(SocketAsyncEventArgs) 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.
Commence à recevoir de façon asynchrone des données à partir d’un appareil réseau spécifié.
public:
bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean
Paramètres
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 e paramètre est déclenché à l’achèvement de l’opération.
false si l’opération d’E/S s’est terminée de façon synchrone. Dans ce cas, l’événement Completed sur le e paramètre ne sera pas déclenché et l’objet e transmis en tant que paramètre peut être examiné immédiatement après l’appel de méthode pour récupérer le résultat de l’opération.
Exceptions
Impossible d’avoir la RemoteEndPoint valeur Null.
Une opération de socket était déjà en cours à l’aide de l’objet SocketAsyncEventArgs spécifié dans le e paramètre.
Il Socket a été fermé.
Une erreur s’est produite lors de la tentative d’accès au socket.
Remarques
La ReceiveFromAsync méthode est utilisée principalement pour recevoir des données sur un socket sans connexion. L’adresse locale du socket doit être connue.
L’appelant doit définir la SocketAsyncEventArgs.RemoteEndPoint propriété sur un EndPoint type identique au point de terminaison de l’hôte distant. La propriété sera mise à jour lors de la réception réussie vers le point de terminaison distant réel.
La SocketAsyncEventArgs.SocketFlags propriété sur le e paramètre fournit au fournisseur de services Window 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 ReceiveFromAsync 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 orientés messages, un message entrant est placé dans la mémoire tampon jusqu’à la taille totale de la mémoire tampon. Les SocketAsyncEventArgs.Count propriétés et SocketAsyncEventArgs.Offset les propriétés déterminent où, dans la mémoire tampon, les données sont placées et la quantité de données.
Pour les sockets de style 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 sont épuisées. Les SocketAsyncEventArgs.Count propriétés et SocketAsyncEventArgs.Offset les propriétés déterminent où, dans la mémoire tampon, les données sont placées et la quantité de données.