Compartir a través de


Socket.ReceiveFromAsync Método

Definición

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

e
SocketAsyncEventArgs

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

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

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

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

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

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

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

Se aplica a