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
IAsyncResult qui stocke des 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 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.