Socket.EndReceiveMessageFrom Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Finaliza una lectura asincrónica pendiente desde un extremo específico. Este método también desvela más información sobre el paquete que 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
Parámetros
- asyncResult
- IAsyncResult
IAsyncResult que almacena información de estado así como cualquier dato definido por el usuario para esta operación asincrónica.
- socketFlags
- SocketFlags
Combinación bit a bit de los valores de SocketFlags para el paquete recibido.
- ipPacketInformation
- IPPacketInformation
IPAddress e interfaz del paquete recibido.
Devoluciones
Si se realiza correctamente, el número de bytes recibidos. Si no se realiza correctamente, devuelve 0.
Excepciones
asyncResult
no se devolvió mediante una llamada al método BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
Se llamó previamente a EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) para la lectura asincrónica.
Solo .NET Framework, .NET Core y .NET 5-6: Socket se ha cerrado .
Comentarios
Importante
Se trata de una API de compatibilidad. No se recomienda usar los métodos de APM (Begin*
y End*
) para el nuevo desarrollo. En su lugar, use los Task
equivalentes basados en .
EndReceiveFrom completa la operación iniciada por BeginReceiveFrom. Debe pasar el IAsyncResult creado por la llamada coincidente BeginReceiveFrom . EndReceiveFrom bloqueará el subproceso que realiza la llamada hasta que se complete la operación.
Examine ipPacketInformation
si necesita saber si el datagrama se envió mediante una dirección de unidifusión, multidifusión o difusión.
Nota
Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico.