Socket.ReceiveFromAsync 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í.
Sobrecargas
ReceiveFromAsync(SocketAsyncEventArgs) |
Comienza a recibir asincrónicamente los datos de un dispositivo de red especificado. |
ReceiveFromAsync(ArraySegment<Byte>, EndPoint) |
Recibe datos y devuelve el punto de conexión del host de envío. |
ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Recibe datos y devuelve el punto de conexión del host de envío. |
ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Recibe datos y devuelve el punto de conexión del host de envío. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Recibe datos y devuelve el punto de conexión del host de envío. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Recibe un datagrama en el búfer de datos usando el objeto SocketFlags especificado y almacena el extremo. |
ReceiveFromAsync(SocketAsyncEventArgs)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza a recibir asincrónicamente los datos de un dispositivo de red especificado.
public:
bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean
Parámetros
Objeto SocketAsyncEventArgs que se usa para esta operación de socket asincrónica.
Devoluciones
Devuelve true
si la operación de E/S está pendiente. Al completar la operación se provoca el evento Completed del parámetro e
.
Devuelve false
si la operación de E/S se ha completado de forma sincrónica. En ese caso, el evento Completed del parámetro e
no se provoca y el objeto e
que se pasa como parámetro puede examinarse inmediatamente después de que se devuelva la llamada al método para recuperar el resultado de la operación.
Excepciones
RemoteEndPoint no puede ser null.
Ya hay una operación de socket en curso que utiliza el objeto SocketAsyncEventArgs especificado en el parámetro e
.
El Socket se ha cerrado.
Error al intentar acceder al socket.
Comentarios
El ReceiveFromAsync método se usa principalmente para recibir datos en un socket sin conexión. La dirección local del socket debe conocerse.
El autor de la llamada debe establecer la SocketAsyncEventArgs.RemoteEndPoint propiedad en un EndPoint valor del mismo tipo que el punto de conexión del host remoto. La propiedad se actualizará si la recepción se realiza correctamente en el punto de conexión remoto real.
La SocketAsyncEventArgs.SocketFlags propiedad del e
parámetro proporciona al proveedor de servicios Sockets de ventana información adicional sobre la solicitud de lectura. Para obtener más información sobre cómo usar este parámetro, vea System.Net.Sockets.SocketFlags.
Se requieren las siguientes propiedades y eventos en el System.Net.Sockets.SocketAsyncEventArgs objeto para llamar correctamente a este método:
El autor de la llamada puede establecer la SocketAsyncEventArgs.UserToken propiedad en cualquier objeto de estado de usuario deseado antes de llamar al ReceiveFromAsync método , de modo que la información se pueda recuperar en el método de devolución de llamada. Si la devolución de llamada necesita más información que un único objeto, se puede crear una clase pequeña para contener la otra información de estado necesaria como miembros.
En el caso de los sockets orientados a mensajes, un mensaje entrante se coloca en el búfer hasta el tamaño total del búfer. Las SocketAsyncEventArgs.Count propiedades y SocketAsyncEventArgs.Offset determinan dónde se colocan los datos en el búfer y la cantidad de datos.
En el caso de los sockets de estilo de secuencia de bytes, los datos entrantes se colocan en el búfer hasta que se rellena el búfer, se cierra la conexión o se agotan los datos almacenados internamente en búfer. Las SocketAsyncEventArgs.Count propiedades y SocketAsyncEventArgs.Offset determinan dónde se colocan los datos en el búfer y la cantidad de datos.
Consulte también
Se aplica a
ReceiveFromAsync(ArraySegment<Byte>, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Recibe datos y devuelve el punto de conexión del host de envío.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)
Parámetros
- buffer
- ArraySegment<Byte>
Búfer de los datos recibidos.
- remoteEndPoint
- EndPoint
Un punto de conexión del mismo tipo que el punto de conexión del host remoto.
Devoluciones
Tarea asincrónica que se completa con un SocketReceiveFromResult valor que contiene el número de bytes recibidos y el punto de conexión del host de envío.
Excepciones
remoteEndPoint
es null
.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene los permisos necesarios.
Se aplica a
ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Recibe datos y devuelve el punto de conexión del host de envío.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)
Parámetros
- buffer
- ArraySegment<Byte>
Búfer de los datos recibidos.
- socketFlags
- SocketFlags
Combinación bit a bit de valores SocketFlags que se usarán al recibir los datos.
- remoteEndPoint
- EndPoint
Un punto de conexión del mismo tipo que el punto de conexión del host remoto.
Devoluciones
Tarea asincrónica que se completa con un SocketReceiveFromResult valor que contiene el número de bytes recibidos y el punto de conexión del host de envío.
Excepciones
remoteEndPoint
es null
.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene los permisos necesarios.
Se aplica a
ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Recibe datos y devuelve el punto de conexión del host de envío.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)
Parámetros
- remoteEndPoint
- EndPoint
Un punto de conexión del mismo tipo que el punto de conexión del host remoto.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para señalar que la operación asincrónica se debe cancelar.
Devoluciones
Tarea asincrónica que se completa con un SocketReceiveFromResult valor que contiene el número de bytes recibidos y el punto de conexión del host de envío.
Excepciones
remoteEndPoint
es null
.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene los permisos necesarios.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Se aplica a
ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Recibe datos y devuelve el punto de conexión del host de envío.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)
Parámetros
- socketFlags
- SocketFlags
Combinación bit a bit de valores SocketFlags que se usarán al recibir los datos.
- remoteEndPoint
- EndPoint
Un punto de conexión del mismo tipo que el punto de conexión del host remoto.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para señalar que la operación asincrónica se debe cancelar.
Devoluciones
Tarea asincrónica que se completa con un SocketReceiveFromResult valor que contiene el número de bytes recibidos y el punto de conexión del host de envío.
Excepciones
remoteEndPoint
es null
.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Un llamador de la pila de llamadas no tiene los permisos necesarios.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.
Se aplica a
ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)
- Source:
- Socket.Tasks.cs
- Source:
- Socket.Tasks.cs
Recibe un datagrama en el búfer de datos usando el objeto SocketFlags especificado y almacena el extremo.
public System.Threading.Tasks.ValueTask<int> ReceiveFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.SocketAddress receivedAddress, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.SocketAddress * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, receivedAddress As SocketAddress, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parámetros
- socketFlags
- SocketFlags
Combinación bit a bit de los SocketFlags valores que se usarán al recibir los datos.
- receivedAddress
- SocketAddress
Instancia SocketAddress de que se actualiza con el valor del mismo nivel remoto cuando este método devuelve.
- cancellationToken
- CancellationToken
Token de cancelación que se puede usar para señalar que la operación asincrónica se debe cancelar.
Devoluciones
Tarea asincrónica que se completa con un SocketReceiveFromResult valor que contiene el número de bytes recibidos y el punto de conexión del host de envío.
Excepciones
receivedAddress
es null
.
Error al intentar acceder al socket.
El Socket se ha cerrado.
Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.