Socket.EndReceiveMessageFrom Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Termina una lettura asincrona in sospeso da uno specifico endpoint. Questo metodo fornisce inoltre ulteriori informazioni sul pacchetto rispetto a 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
Parametri
- asyncResult
- IAsyncResult
Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.
- socketFlags
- SocketFlags
Combinazione bit per bit dei valori di SocketFlags relativi al pacchetto ricevuto.
- ipPacketInformation
- IPPacketInformation
L'IPAddress e l'interfaccia del pacchetto ricevuto.
Restituisce
Se ha esito positivo, numero di byte ricevuti. Se ha esito negativo restituisce 0.
Eccezioni
asyncResult
non è stato restituito da una chiamata al metodo BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) è stato precedentemente chiamato per la lettura asincrona.
Si è verificato un errore durante il tentativo di accesso al socket.
-oppure-
Solo .NET 7+ : l'oggetto Socket è stato chiuso.
Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per il nuovo sviluppo. Usare invece gli Task
equivalenti basati su base.
EndReceiveFrom completa l'operazione avviata da BeginReceiveFrom. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginReceiveFrom . EndReceiveFrom blocca il thread chiamante fino al completamento dell'operazione.
Esaminare ipPacketInformation
se è necessario sapere se il datagram è stato inviato usando un indirizzo unicast, multicast o broadcast.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.