Socket.EndReceiveFrom(IAsyncResult, EndPoint) 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.
Met fin à une lecture asynchrone en attente à partir d’un point de terminaison spécifique.
public:
int EndReceiveFrom(IAsyncResult ^ asyncResult, System::Net::EndPoint ^ % endPoint);
public int EndReceiveFrom(IAsyncResult asyncResult, ref System.Net.EndPoint endPoint);
member this.EndReceiveFrom : IAsyncResult * EndPoint -> int
Public Function EndReceiveFrom (asyncResult As IAsyncResult, ByRef endPoint As EndPoint) As Integer
Paramètres
- asyncResult
- IAsyncResult
Qui IAsyncResult stocke les informations d’état et toutes les données définies par l’utilisateur pour cette opération asynchrone.
Retours
En cas de réussite, nombre d’octets reçus. En cas d’échec, retourne 0.
Exceptions
asyncResult a la valeur null.
asyncResult n’a pas été retourné par un appel à la BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) méthode.
EndReceiveFrom(IAsyncResult, EndPoint) a été précédemment appelé pour la lecture asynchrone.
Une erreur s’est produite lors de la tentative d’accès au socket.
- ou -
.NET 7+ uniquement : le Socket fichier a été fermé.
.NET Framework, .NET Core et .NET 5-6 uniquement : le Socket fichier a été fermé.
Remarques
Important
Il s’agit d’une API de compatibilité. Nous vous déconseillons d’utiliser les méthodes APM (Begin* et End*) pour le nouveau développement. Utilisez plutôt les Taskéquivalents basés sur les valeurs.
EndReceiveFrom termine l’opération démarrée par BeginReceiveFrom. Vous devez passer la IAsyncResult création par l’appel correspondant BeginReceiveFrom .
La EndReceiveFrom méthode bloque jusqu’à ce que les données soient disponibles. Si vous utilisez un protocole sans connexion, EndReceiveFrom lisez le premier datagramme mis en file d’attente disponible dans la mémoire tampon réseau entrante. Si vous utilisez un protocole orienté connexion, la EndReceiveFrom méthode lit autant de données que disponible jusqu’au nombre d’octets que vous avez spécifiés dans le size paramètre de la BeginReceiveFrom méthode. Si l’hôte distant arrête la Socket connexion avec la Shutdown méthode et que toutes les données disponibles ont été reçues, la EndReceiveFrom méthode se termine immédiatement et retourne zéro octet. Pour obtenir les données reçues, appelez la AsyncState méthode de l’objet IAsyncResult et extrayez la mémoire tampon contenue dans l’objet d’état résultant. Pour identifier l’hôte d’origine, extrayez-le et convertissez-le EndPoint en un IPEndPoint. Utilisez la méthode pour obtenir l’adresse IPEndPoint.Address IP et la IPEndPoint.Port méthode pour obtenir le numéro de port.
Note
Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.
Note
Ce membre génère des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.