Socket.BeginReceive 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í.
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket.
Sobrecargas
| Nombre | Description |
|---|---|
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket.
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
- offset
- Int32
Posición de base cero en el parámetro en el buffer que se van a almacenar los datos recibidos.
- size
- Int32
Número de bytes que se van a recibir.
- socketFlags
- SocketFlags
Combinación bit a bit de los SocketFlags valores.
- callback
- AsyncCallback
AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la operación.
- state
- Object
Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al EndReceive(IAsyncResult) delegado cuando se completa la operación.
Devoluciones
que IAsyncResult hace referencia a la lectura asincrónica.
Excepciones
buffer es null.
.NET Framework y .NET 5 y versiones anteriores solo: se produjo un error al intentar acceder al socket.
Socket se ha cerrado.
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 offset parámetro.
Comentarios
Importante
Se trata de una API de compatibilidad. No se recomienda usar los métodos 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á en true para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de para obtener el objeto de IAsyncResult 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 BeginReceive devolución de llamada proporcionada al método . Una llamada posterior al EndReceive método iniciará ObjectDisposedException (antes de .NET 7) o una SocketException (en .NET 7+) 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 se cierra 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 al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte 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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Serialización de un delegado como método de devolución de llamada
- Ejemplo de socket de cliente asincrónico
- Ejemplo de socket de servidor asincrónico
Se aplica a
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket.
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
- offset
- Int32
Ubicación de para buffer almacenar los datos recibidos.
- size
- Int32
Número de bytes que se van a recibir.
- socketFlags
- SocketFlags
Combinación bit a bit de los SocketFlags valores.
- errorCode
- SocketError
Objeto SocketError que almacena el error de socket.
- callback
- AsyncCallback
AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la operación.
- state
- Object
Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al EndReceive(IAsyncResult) delegado cuando se completa la operación.
Devoluciones
que IAsyncResult hace referencia a la lectura asincrónica.
Excepciones
buffer es null.
.NET Framework y .NET 5 y versiones anteriores solo: se produjo un error al intentar acceder al socket.
Socket se ha cerrado.
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 offset parámetro.
Comentarios
Importante
Se trata de una API de compatibilidad. No se recomienda usar los métodos 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á en true para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de para obtener el objeto de IAsyncResult 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 BeginReceive devolución de llamada proporcionada al método . Una llamada posterior al EndReceive método iniciará ObjectDisposedException (antes de .NET 7) o una SocketException (en .NET 7+) 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 se cierra 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 al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte 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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Serialización de un delegado como método de devolución de llamada
- Ejemplo de socket de cliente asincrónico
- Ejemplo de socket de servidor asincrónico
Se aplica a
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket.
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 es la ubicación de almacenamiento de los datos recibidos.
- socketFlags
- SocketFlags
Combinación bit a bit de los SocketFlags valores.
- callback
- AsyncCallback
AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la operación.
- state
- Object
Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al EndReceive(IAsyncResult) delegado cuando se completa la operación.
Devoluciones
que IAsyncResult hace referencia a la lectura asincrónica.
Excepciones
buffers es null.
.NET Framework y .NET 5 y versiones anteriores solo: se produjo un error al intentar acceder al socket.
Socket se ha cerrado.
Comentarios
Importante
Se trata de una API de compatibilidad. No se recomienda usar los métodos 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á en true para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de para obtener el objeto de IAsyncResult 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 BeginReceive devolución de llamada proporcionada al método . Una llamada posterior al EndReceive método iniciará ObjectDisposedException (antes de .NET 7) o una SocketException (en .NET 7+) 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 se cierra 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 al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte 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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Serialización de un delegado como método de devolución de llamada
- Ejemplo de socket de cliente asincrónico
- Ejemplo de socket de servidor asincrónico
Se aplica a
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Comienza a recibir datos de forma asincrónica desde un objeto conectado Socket.
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 es la ubicación de almacenamiento de los datos recibidos.
- socketFlags
- SocketFlags
Combinación bit a bit de los SocketFlags valores.
- errorCode
- SocketError
Objeto SocketError que almacena el error de socket.
- callback
- AsyncCallback
AsyncCallback Delegado que hace referencia al método que se va a invocar cuando se completa la operación.
- state
- Object
Objeto definido por el usuario que contiene información sobre la operación de recepción. Este objeto se pasa al EndReceive(IAsyncResult) delegado cuando se completa la operación.
Devoluciones
que IAsyncResult hace referencia a la lectura asincrónica.
Excepciones
buffers es null.
.NET Framework y .NET 5 y versiones anteriores solo: se produjo un error al intentar acceder al socket.
Socket se ha cerrado.
Comentarios
Importante
Se trata de una API de compatibilidad. No se recomienda usar los métodos 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á en true para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de para obtener el objeto de IAsyncResult 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 BeginReceive devolución de llamada proporcionada al método . Una llamada posterior al EndReceive método iniciará ObjectDisposedException (antes de .NET 7) o una SocketException (en .NET 7+) 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 se cierra 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 al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte 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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Serialización de un delegado como método de devolución de llamada
- Ejemplo de socket de cliente asincrónico
- Ejemplo de socket de servidor asincrónico