Partager via


Socket.EndReceiveMessageFrom Méthode

Définition

Met fin à une lecture asynchrone en attente à partir d'un point de terminaison spécifique. Cette méthode révèle également davantage d'informations sur le paquet que EndReceiveFrom(IAsyncResult, EndPoint).

public:
 int EndReceiveMessageFrom(IAsyncResult ^ asyncResult, System::Net::Sockets::SocketFlags % socketFlags, System::Net::EndPoint ^ % endPoint, [Runtime::InteropServices::Out] System::Net::Sockets::IPPacketInformation % ipPacketInformation);
public int EndReceiveMessageFrom (IAsyncResult asyncResult, ref System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint endPoint, out System.Net.Sockets.IPPacketInformation ipPacketInformation);
member this.EndReceiveMessageFrom : IAsyncResult * SocketFlags * EndPoint * IPPacketInformation -> int
Public Function EndReceiveMessageFrom (asyncResult As IAsyncResult, ByRef socketFlags As SocketFlags, ByRef endPoint As EndPoint, ByRef ipPacketInformation As IPPacketInformation) 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.

socketFlags
SocketFlags

Combinaison d'opérations de bits des valeurs SocketFlags pour le paquet reçu.

endPoint
EndPoint

EndPoint source.

ipPacketInformation
IPPacketInformation

IPAddress et interface du paquet reçu.

Retours

En cas de réussite, nombre d'octets reçus. En cas d'échec, retourne 0.

Exceptions

asyncResult a la valeur null.

- ou -

endPoint a la valeur null.

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 un nouveau développement. Utilisez plutôt les Taskéquivalents basés sur .

EndReceiveFrom termine l’opération démarrée par BeginReceiveFrom. Vous devez passer le IAsyncResult créé par l’appel correspondant BeginReceiveFrom . EndReceiveFrom bloque le thread appelant jusqu’à ce que l’opération soit terminée.

Vérifiez ipPacketInformation si vous avez besoin de savoir si le datagramme a été envoyé à l’aide d’une adresse de monodiffusion, de multidiffusion ou de diffusion.

Notes

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

S’applique à