Socket.EndReceiveMessageFrom Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beendet einen ausstehenden asynchronen Lesevorgang von einem bestimmten Endpunkt. Diese Methode stellt außerdem mehr Informationen über das Paket als EndReceiveFrom(IAsyncResult, EndPoint) bereit.
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
Parameter
- asyncResult
- IAsyncResult
Ein IAsyncResult, das Zustandsinformationen über diesen asynchronen Vorgang sowie ggf. vorhandene benutzerdefinierte Daten speichert.
- socketFlags
- SocketFlags
Eine bitweise Kombination der SocketFlags-Werte für das empfangene Paket.
- ipPacketInformation
- IPPacketInformation
Die IPAddress und die Schnittstelle des empfangenen Pakets.
Gibt zurück
Wenn erfolgreich, die Anzahl der empfangenen Bytes. Wenn die Ausführung nicht erfolgreich ist, wird 0 zurückgegeben.
Ausnahmen
asyncResult
wurde nicht durch einen Aufruf der BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)-Methode zurückgegeben.
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) wurde bereits für den asynchronen Lesevorgang aufgerufen.
Fehler beim Versuch, auf den Socket zuzugreifen.
- oder -
Nur .NET 7 und höher: Die Socket wurde geschlossen.
nur .NET Framework, .NET Core und .NET 5-6: Die Socket wurde geschlossen.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
EndReceiveFrom schließt den von gestarteten Vorgang ab BeginReceiveFrom. Sie müssen das übergeben, das IAsyncResult vom übereinstimmenden BeginReceiveFrom Aufruf erstellt wurde. EndReceiveFrom blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Überprüfen Sie ipPacketInformation
, ob Sie wissen müssen, ob das Datagramm mit einer Unicast-, Multicast- oder Broadcastadresse gesendet wurde.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.