Freigeben über


Socket.EndReceiveMessageFrom Methode

Definition

Beendet einen ausstehenden asynchronen Lesevorgang von einem bestimmten Endpunkt. Diese Methode zeigt auch mehr Informationen über das Paket als 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

Parameter

asyncResult
IAsyncResult

Ein IAsyncResult Objekt, das Zustandsinformationen und alle benutzerdefinierten Daten für diesen asynchronen Vorgang speichert.

socketFlags
SocketFlags

Eine bitweise Kombination der SocketFlags Werte für das empfangene Paket.

endPoint
EndPoint

Die Quelle EndPoint.

ipPacketInformation
IPPacketInformation

Die IPAddress Schnittstelle und die Schnittstelle des empfangenen Pakets.

Gibt zurück

Bei erfolgreicher Ausführung wird die Anzahl der empfangenen Bytes angezeigt. Wenn dies nicht erfolgreich ist, wird 0 zurückgegeben.

Ausnahmen

asyncResult ist null

- oder -

endPoint ist null.

asyncResult wurde nicht von einem Aufruf der BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) Methode zurückgegeben.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

- oder -

.NET 7+ nur: Die Socket Datei wurde geschlossen.

.NET Framework, .NET Core und .NET 5-6: Die Socket Datei wurde geschlossen.

Hinweise

Von Bedeutung

Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin* und End*) für die neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task-basierten Entsprechungen.

EndReceiveFrom schließt den Vorgang ab, der von BeginReceiveFrom. Sie müssen den IAsyncResult vom übereinstimmenden BeginReceiveFrom Aufruf erstellten Übergeben. 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 Übertragungsadresse gesendet wurde.

Hinweis

Wenn Sie ein SocketExceptionObjekt erhalten, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen.

Gilt für: