Compartir a través de


Socket.BeginReceive Método

Definición

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

Sobrecargas

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

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

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

buffer
Byte[]

Matriz de tipo Byte que constituye la ubicación de almacenamiento de los datos recibidos.

offset
Int32

Ubicación de buffer en la que se almacenarán los datos recibidos.

size
Int32

Número de bytes que se va a recibir.

socketFlags
SocketFlags

Combinación bit a bit de los valores de SocketFlags.

errorCode
SocketError

Objeto SocketError que almacena el error de socket.

callback
AsyncCallback

Delegado de AsyncCallback que hace referencia al método que se invocará cuando la operación se complete.

state
Object

Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al delegado de EndReceive(IAsyncResult) cuando la operación se completa.

Devoluciones

IAsyncResult que hace referencia a la lectura asincrónica.

Excepciones

buffer es null.

Solo .NET Framework y .NET 5 y versiones anteriores: se produjo un error al intentar acceder al socket.

offset es menor que 0.

O bien

offset es mayor que la longitud de buffer.

O bien

size es menor que 0.

o bien

size es mayor que la longitud de buffer menos el valor del parámetro offset.

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 Taskequivalentes basados en .

Puede pasar una devolución de llamada que se AsyncCallbackBeginReceive implemente en para recibir una notificación sobre la finalización de la operación. Tenga en cuenta que si la pila de red subyacente completa la operación de forma sincrónica, la devolución de llamada se ejecutará en línea, durante la llamada a BeginReceive. En este caso, la CompletedSynchronously propiedad del devuelto IAsyncResult se establecerá true en para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de IAsyncResult para obtener el objeto de estado pasado al BeginReceive método .

La operación asincrónica BeginReceive debe completarse llamando al EndReceive método . Normalmente, el delegado invoca el AsyncCallback método . EndReceive bloqueará el subproceso que realiza la llamada hasta que se complete la operación.

Cierre para Socket cancelar un objeto pendiente BeginReceive. Cuando se llama al Close método mientras una operación asincrónica está en curso, se llama a la devolución de llamada proporcionada al BeginReceive método . Una llamada posterior al EndReceive método iniciará ( ObjectDisposedException antes de .NET 7) o ( SocketException en .NET 7 y versiones posteriores) para indicar que se ha cancelado la operación.

Nota

Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico.

Nota

Todas las E/S iniciadas por un subproceso determinado se cancelan cuando se cierra ese subproceso. Se puede producir un error en una operación asincrónica pendiente si el subproceso sale antes de que se complete la operación.

Nota

state es una instancia de una clase definida por el usuario.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Nota

El contexto de ejecución (el contexto de seguridad, el usuario suplantado y el contexto de llamada) se almacena en caché para los métodos asincrónicos Socket . Después del primer uso de un contexto determinado (un método asincrónico Socket específico, una instancia específica Socket y una devolución de llamada específica), los usos posteriores de ese contexto verán una mejora del rendimiento.

Consulte también

Se aplica a

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

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

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

buffer
Byte[]

Matriz de tipo Byte que constituye la ubicación de almacenamiento de los datos recibidos.

offset
Int32

Posición de base cero del parámetro buffer donde se almacenarán los datos recibidos.

size
Int32

Número de bytes que se va a recibir.

socketFlags
SocketFlags

Combinación bit a bit de los valores de SocketFlags.

callback
AsyncCallback

Delegado de AsyncCallback que hace referencia al método que se invocará cuando la operación se complete.

state
Object

Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al delegado de EndReceive(IAsyncResult) cuando la operación se completa.

Devoluciones

IAsyncResult que hace referencia a la lectura asincrónica.

Excepciones

buffer es null.

Solo .NET Framework y .NET 5 y versiones anteriores: se produjo un error al intentar acceder al socket.

offset es menor que 0.

O bien

offset es mayor que la longitud de buffer.

O bien

size es menor que 0.

o bien

size es mayor que la longitud de buffer menos el valor del parámetro offset.

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 Taskequivalentes basados en .

Puede pasar una devolución de llamada que se AsyncCallbackBeginReceive implemente en para recibir una notificación sobre la finalización de la operación. Tenga en cuenta que si la pila de red subyacente completa la operación de forma sincrónica, la devolución de llamada se ejecutará en línea, durante la llamada a BeginReceive. En este caso, la CompletedSynchronously propiedad del devuelto IAsyncResult se establecerá true en para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de IAsyncResult para obtener el objeto de estado pasado al BeginReceive método .

La operación asincrónica BeginReceive debe completarse llamando al EndReceive método . Normalmente, el delegado invoca el AsyncCallback método . EndReceive bloqueará el subproceso que realiza la llamada hasta que se complete la operación.

Cierre para Socket cancelar un objeto pendiente BeginReceive. Cuando se llama al Close método mientras una operación asincrónica está en curso, se llama a la devolución de llamada proporcionada al BeginReceive método . Una llamada posterior al EndReceive método iniciará ( ObjectDisposedException antes de .NET 7) o ( SocketException en .NET 7 y versiones posteriores) para indicar que se ha cancelado la operación.

Nota

Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico.

Nota

Todas las E/S iniciadas por un subproceso determinado se cancelan cuando se cierra ese subproceso. Se puede producir un error en una operación asincrónica pendiente si el subproceso sale antes de que se complete la operación.

Nota

state es una instancia de una clase definida por el usuario.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Nota

El contexto de ejecución (el contexto de seguridad, el usuario suplantado y el contexto de llamada) se almacena en caché para los métodos asincrónicos Socket . Después del primer uso de un contexto determinado (un método asincrónico Socket específico, una instancia específica Socket y una devolución de llamada específica), los usos posteriores de ese contexto verán una mejora del rendimiento.

Consulte también

Se aplica a

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

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

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

buffers
IList<ArraySegment<Byte>>

Matriz de tipo Byte que constituye la ubicación de almacenamiento de los datos recibidos.

socketFlags
SocketFlags

Combinación bit a bit de los valores de SocketFlags.

callback
AsyncCallback

Delegado de AsyncCallback que hace referencia al método que se invocará cuando la operación se complete.

state
Object

Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al delegado de EndReceive(IAsyncResult) cuando la operación se completa.

Devoluciones

IAsyncResult que hace referencia a la lectura asincrónica.

Excepciones

buffer es null.

Solo .NET Framework y .NET 5 y versiones anteriores: se produjo un error al intentar acceder al socket.

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 Taskequivalentes basados en .

Puede pasar una devolución de llamada que se AsyncCallbackBeginReceive implemente en para recibir una notificación sobre la finalización de la operación. Tenga en cuenta que si la pila de red subyacente completa la operación de forma sincrónica, la devolución de llamada se ejecutará en línea, durante la llamada a BeginReceive. En este caso, la CompletedSynchronously propiedad del devuelto IAsyncResult se establecerá true en para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de IAsyncResult para obtener el objeto de estado pasado al BeginReceive método .

La operación asincrónica BeginReceive debe completarse llamando al EndReceive método . Normalmente, el delegado invoca el AsyncCallback método . EndReceive bloqueará el subproceso que realiza la llamada hasta que se complete la operación.

Cierre para Socket cancelar un objeto pendiente BeginReceive. Cuando se llama al Close método mientras una operación asincrónica está en curso, se llama a la devolución de llamada proporcionada al BeginReceive método . Una llamada posterior al EndReceive método iniciará ( ObjectDisposedException antes de .NET 7) o ( SocketException en .NET 7 y versiones posteriores) para indicar que se ha cancelado la operación.

Nota

Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico.

Nota

Todas las E/S iniciadas por un subproceso determinado se cancelan cuando se cierra ese subproceso. Se puede producir un error en una operación asincrónica pendiente si el subproceso sale antes de que se complete la operación.

Nota

state es una instancia de una clase definida por el usuario.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Nota

El contexto de ejecución (el contexto de seguridad, el usuario suplantado y el contexto de llamada) se almacena en caché para los métodos asincrónicos Socket . Después del primer uso de un contexto determinado (un método asincrónico Socket específico, una instancia específica Socket y una devolución de llamada específica), los usos posteriores de ese contexto verán una mejora del rendimiento.

Consulte también

Se aplica a

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

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

Comienza a recibir asincrónicamente los datos de un objeto Socket conectado.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parámetros

buffers
IList<ArraySegment<Byte>>

Matriz de tipo Byte que constituye la ubicación de almacenamiento de los datos recibidos.

socketFlags
SocketFlags

Combinación bit a bit de los valores de SocketFlags.

errorCode
SocketError

Objeto SocketError que almacena el error de socket.

callback
AsyncCallback

Delegado de AsyncCallback que hace referencia al método que se invocará cuando la operación se complete.

state
Object

Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al delegado de EndReceive(IAsyncResult) cuando la operación se completa.

Devoluciones

IAsyncResult que hace referencia a la lectura asincrónica.

Excepciones

buffer es null.

Solo .NET Framework y .NET 5 y versiones anteriores: se produjo un error al intentar acceder al socket.

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 Taskequivalentes basados en .

Puede pasar una devolución de llamada que se AsyncCallbackBeginReceive implemente en para recibir una notificación sobre la finalización de la operación. Tenga en cuenta que si la pila de red subyacente completa la operación de forma sincrónica, la devolución de llamada se ejecutará en línea, durante la llamada a BeginReceive. En este caso, la CompletedSynchronously propiedad del devuelto IAsyncResult se establecerá true en para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de IAsyncResult para obtener el objeto de estado pasado al BeginReceive método .

La operación asincrónica BeginReceive debe completarse llamando al EndReceive método . Normalmente, el delegado invoca el AsyncCallback método . EndReceive bloqueará el subproceso que realiza la llamada hasta que se complete la operación.

Cierre para Socket cancelar un objeto pendiente BeginReceive. Cuando se llama al Close método mientras una operación asincrónica está en curso, se llama a la devolución de llamada proporcionada al BeginReceive método . Una llamada posterior al EndReceive método iniciará ( ObjectDisposedException antes de .NET 7) o ( SocketException en .NET 7 y versiones posteriores) para indicar que se ha cancelado la operación.

Nota

Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico.

Nota

Todas las E/S iniciadas por un subproceso determinado se cancelan cuando se cierra ese subproceso. Se puede producir un error en una operación asincrónica pendiente si el subproceso sale antes de que se complete la operación.

Nota

state es una instancia de una clase definida por el usuario.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, vea Seguimiento de red en .NET Framework.

Nota

El contexto de ejecución (el contexto de seguridad, el usuario suplantado y el contexto de llamada) se almacena en caché para los métodos asincrónicos Socket . Después del primer uso de un contexto determinado (un método asincrónico Socket específico, una instancia específica Socket y una devolución de llamada específica), los usos posteriores de ese contexto verán una mejora del rendimiento.

Consulte también

Se aplica a