Compartir por


Socket.ReceiveFromAsync Método

Definición

Sobrecargas

Nombre Description
ReceiveFromAsync(SocketAsyncEventArgs)

Comienza a recibir datos de forma asincrónica desde 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, mediante el especificado SocketFlagsy almacena el punto de conexión.

ReceiveFromAsync(SocketAsyncEventArgs)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Comienza a recibir datos de forma asincrónica desde 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

e
SocketAsyncEventArgs

Objeto SocketAsyncEventArgs que se va a usar para esta operación de socket asincrónico.

Devoluciones

true si la operación de E/S está pendiente. El Completed evento en el e parámetro se generará tras la finalización de la operación.

false si la operación de E/S se completó sincrónicamente. En este caso, Completed no se generará el evento en el e parámetro y el e objeto pasado como parámetro se puede examinar inmediatamente después de que la llamada al método devuelva para recuperar el resultado de la operación.

Excepciones

Una operación de socket ya estaba en curso mediante el SocketAsyncEventArgs objeto especificado en el e parámetro .

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 de tipo del mismo tipo que el punto de conexión del host remoto. La propiedad se actualizará al recibir correctamente el punto de conexión remoto real.

La SocketAsyncEventArgs.SocketFlags propiedad del e parámetro proporciona al proveedor de servicios De 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
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 objeto 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.

Un autor de llamada 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
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 objeto 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.

Un autor de llamada 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
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

buffer
Memory<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.

cancellationToken
CancellationToken

Se debe cancelar un token de cancelación que se puede usar para indicar la operación asincrónica.

Devoluciones

Tarea asincrónica que se completa con un SocketReceiveFromResult objeto 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.

Un autor de llamada 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
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

buffer
Memory<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.

cancellationToken
CancellationToken

Se debe cancelar un token de cancelación que se puede usar para indicar la operación asincrónica.

Devoluciones

Tarea asincrónica que se completa con un SocketReceiveFromResult objeto 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.

Un autor de llamada 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
Source:
Socket.Tasks.cs
Source:
Socket.Tasks.cs

Recibe un datagrama en el búfer de datos, mediante el especificado SocketFlagsy almacena el punto de conexión.

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

buffer
Memory<Byte>

Búfer de los datos recibidos.

socketFlags
SocketFlags

Combinación bit a bit de los SocketFlags valores que se usarán al recibir los datos.

receivedAddress
SocketAddress

Instancia SocketAddress que se actualiza con el valor del mismo nivel remoto cuando este método devuelve.

cancellationToken
CancellationToken

Se debe cancelar un token de cancelación que se puede usar para indicar la operación asincrónica.

Devoluciones

Tarea asincrónica que se completa con un SocketReceiveFromResult objeto 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.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Se aplica a