Condividi tramite


Socket.EndReceiveMessageFrom Metodo

Definizione

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.

endPoint
EndPoint

Il EndPoint di origine.

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 è null

-oppure-

endPoint è null.

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 Taskequivalenti 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.

Si applica a