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

IAsyncResult qui stocke des informations d'état et toutes les données définies par l'utilisateur pour cette opération asynchrone.

endPoint
EndPoint

EndPoint source.

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 méthode BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).

EndReceiveFrom(IAsyncResult, EndPoint) a été précédemment appelé pour la lecture asynchrone.

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

- ou -

.NET 7+ uniquement : a Socket été fermé.

.NET Framework, .NET Core et .NET 5-6 uniquement : a Socket é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. Au lieu de cela, utilisez les Taskéquivalents basés sur la base.

EndReceiveFrom termine l’opération démarrée par BeginReceiveFrom. Vous devez passer le IAsyncResult créé par l’appel correspondant BeginReceiveFrom .

La EndReceiveFrom méthode est bloquée jusqu’à ce que les données soient disponibles. Si vous utilisez un protocole sans connexion, EndReceiveFrom lit le premier datagramme 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é 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 castez-le EndPoint dans un IPEndPoint. Utilisez la IPEndPoint.Address méthode pour obtenir l’adresse IP et la IPEndPoint.Port méthode pour obtenir le numéro de port.

Notes

Si vous recevez un SocketException, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

S’applique à