Partager via


Socket.EndReceiveFrom(IAsyncResult, EndPoint) Méthode

Définition

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.

endPoint
EndPoint

EndPointSource .

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.

S’applique à