Socket.EndReceiveMessageFrom 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. 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.
- 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
n'a pas été retourné par un appel à la méthode BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) 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 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.