Socket.EndReceiveMessageFrom Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een asynchrone leesbewerking vanaf een specifiek eindpunt beëindigd. Met deze methode wordt ook meer informatie over het pakket weergegeven dan 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
Parameters
- asyncResult
- IAsyncResult
Een IAsyncResult die statusinformatie en door de gebruiker gedefinieerde gegevens voor deze asynchrone bewerking opslaat.
- socketFlags
- SocketFlags
Een bitsgewijze combinatie van de SocketFlags waarden voor het ontvangen pakket.
- ipPacketInformation
- IPPacketInformation
De IPAddress en interface van het ontvangen pakket.
Retouren
Als dit lukt, is het aantal ontvangen bytes. Als dit niet lukt, wordt 0 geretourneerd.
Uitzonderingen
asyncResult is niet geretourneerd door een aanroep naar de BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) methode.
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) werd eerder aangeroepen voor de asynchrone leesbewerking.
Er is een fout opgetreden bij het openen van de socket.
– of –
.NET 7+ alleen: de Socket is gesloten.
.NET Framework, .NET Core en .NET 5-6: de Socket is gesloten.
Opmerkingen
Important
Dit is een compatibiliteits-API. Het wordt afgeraden om de APM - (Begin* en End*) methoden voor nieuwe ontwikkeling te gebruiken. Gebruik in plaats daarvan de Taskequivalenten op basis van -.
EndReceiveFrom voltooit de bewerking die is gestart door BeginReceiveFrom. U moet de IAsyncResult gemaakte door de overeenkomende BeginReceiveFrom aanroep doorgeven. EndReceiveFrom blokkeert de aanroepende thread totdat de bewerking is voltooid.
Controleer ipPacketInformation of u wilt weten of het datagram is verzonden met behulp van een unicast-, multicast- of broadcastadres.
Note
Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen.