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 un endpoint specifico. Questo metodo rivela anche altre informazioni sul pacchetto rispetto EndReceiveFrom(IAsyncResult, EndPoint)a .
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 archivia le informazioni sullo stato e i dati definiti dall'utente per questa operazione asincrona.
- socketFlags
- SocketFlags
Combinazione bit per bit dei SocketFlags valori per il pacchetto ricevuto.
- ipPacketInformation
- IPPacketInformation
Interfaccia IPAddress e del pacchetto ricevuto.
Restituisce
In caso di esito positivo, il numero di byte ricevuti. In caso di esito negativo, restituisce 0.
Eccezioni
asyncResult non è stato restituito da una chiamata al BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) metodo .
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) è stato chiamato in precedenza 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 nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
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 datagramma è stato inviato usando un indirizzo unicast, multicast o broadcast.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.