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 plus 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

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

socketFlags
SocketFlags

Combinaison au niveau du bit des SocketFlags valeurs du paquet reçu.

endPoint
EndPoint

EndPointSource .

ipPacketInformation
IPPacketInformation

Interface IPAddress et du paquet reçu.

Retours

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

Exceptions

asyncResult est null

- ou -

endPoint a la valeur null.

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 . EndReceiveFrom bloque le thread appelant jusqu’à ce que l’opération soit terminée.

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

Note

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

S’applique à