Socket.BeginReceive Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Começa a receber dados assíncronos de um .Socket
Sobrecargas
| Name | Description |
|---|---|
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Começa a receber dados assíncronos de um .Socket |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Começa a receber dados assíncronos de um .Socket |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Começa a receber dados assíncronos de um .Socket |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Começa a receber dados assíncronos de um .Socket |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Começa a receber dados assíncronos de um .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
A posição baseada em zero no buffer parâmetro onde armazenar os dados recebidos.
- size
- Int32
O número de bytes a receber.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- callback
- AsyncCallback
Um AsyncCallback delegado que faz referência ao método a invocar quando a operação estiver completa.
- state
- Object
Um objeto definido pelo utilizador que contém informação sobre a operação de receção. Este objeto é passado ao EndReceive(IAsyncResult) delegado quando a operação está concluída.
Devoluções
E IAsyncResult que faz referência à leitura assíncrona.
Exceções
buffer é null.
Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.
Socket foi encerrado.
offset é inferior a 0.
-ou-
offset é maior do que o comprimento de buffer.
-ou-
size é inferior a 0.
-ou-
size é maior do que o comprimento de buffer menos o valor do offset parâmetro.
Observações
Importante
Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .
Pode enviar um callback que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback será executado em linha, durante a chamada para BeginReceive. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginReceive método.
A operação assíncrona BeginReceive deve ser concluída chamando o EndReceive método. Normalmente, o método é invocado pelo AsyncCallback delegado. EndReceive irá bloquear o thread que chama até que a operação seja concluída.
Feche o Socket para cancelar um pedido pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginReceive método é chamado. Uma chamada subsequente ao método EndReceive lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
Note
state é uma instância de uma classe definida pelo utilizador.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Note
O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.
Ver também
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Organizar um Delegado como Método de Retorno
- Exemplo de Soquete Cliente Assíncrono
- Exemplo de Soquete de Servidor Assíncrono
Aplica-se a
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Começa a receber dados assíncronos de um .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
A localização é buffer para armazenar os dados recebidos.
- size
- Int32
O número de bytes a receber.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
- callback
- AsyncCallback
Um AsyncCallback delegado que faz referência ao método a invocar quando a operação estiver completa.
- state
- Object
Um objeto definido pelo utilizador que contém informação sobre a operação de receção. Este objeto é passado ao EndReceive(IAsyncResult) delegado quando a operação está concluída.
Devoluções
E IAsyncResult que faz referência à leitura assíncrona.
Exceções
buffer é null.
Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.
Socket foi encerrado.
offset é inferior a 0.
-ou-
offset é maior do que o comprimento de buffer.
-ou-
size é inferior a 0.
-ou-
size é maior do que o comprimento de buffer menos o valor do offset parâmetro.
Observações
Importante
Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .
Pode enviar um callback que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback será executado em linha, durante a chamada para BeginReceive. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginReceive método.
A operação assíncrona BeginReceive deve ser concluída chamando o EndReceive método. Normalmente, o método é invocado pelo AsyncCallback delegado. EndReceive irá bloquear o thread que chama até que a operação seja concluída.
Feche o Socket para cancelar um pedido pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginReceive método é chamado. Uma chamada subsequente ao método EndReceive lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
Note
state é uma instância de uma classe definida pelo utilizador.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Note
O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.
Ver também
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Organizar um Delegado como Método de Retorno
- Exemplo de Soquete Cliente Assíncrono
- Exemplo de Soquete de Servidor Assíncrono
Aplica-se a
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Começa a receber dados assíncronos de um .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>>
Um array do tipo Byte que é a localização de armazenamento dos dados recebidos.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- callback
- AsyncCallback
Um AsyncCallback delegado que faz referência ao método a invocar quando a operação estiver completa.
- state
- Object
Um objeto definido pelo utilizador que contém informação sobre a operação de receção. Este objeto é passado ao EndReceive(IAsyncResult) delegado quando a operação está concluída.
Devoluções
E IAsyncResult que faz referência à leitura assíncrona.
Exceções
buffers é null.
Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.
Socket foi encerrado.
Observações
Importante
Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .
Pode enviar um callback que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback será executado em linha, durante a chamada para BeginReceive. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginReceive método.
A operação assíncrona BeginReceive deve ser concluída chamando o EndReceive método. Normalmente, o método é invocado pelo AsyncCallback delegado. EndReceive irá bloquear o thread que chama até que a operação seja concluída.
Feche o Socket para cancelar um pedido pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginReceive método é chamado. Uma chamada subsequente ao método EndReceive lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
Note
state é uma instância de uma classe definida pelo utilizador.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Note
O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.
Ver também
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Organizar um Delegado como Método de Retorno
- Exemplo de Soquete Cliente Assíncrono
- Exemplo de Soquete de Servidor Assíncrono
Aplica-se a
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
Começa a receber dados assíncronos de um .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>>
Um array do tipo Byte que é a localização de armazenamento dos dados recebidos.
- socketFlags
- SocketFlags
Uma combinação bit a bit dos SocketFlags valores.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
- callback
- AsyncCallback
Um AsyncCallback delegado que faz referência ao método a invocar quando a operação estiver completa.
- state
- Object
Um objeto definido pelo utilizador que contém informação sobre a operação de receção. Este objeto é passado ao EndReceive(IAsyncResult) delegado quando a operação está concluída.
Devoluções
E IAsyncResult que faz referência à leitura assíncrona.
Exceções
buffers é null.
Apenas framework .NET: Ocorreu um erro ao tentar aceder ao socket.
Socket foi encerrado.
Observações
Importante
Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .
Pode enviar um callback que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Note que, se a pilha de rede subjacente completar a operação de forma síncrona, o callback será executado em linha, durante a chamada para BeginReceive. Neste caso, a CompletedSynchronously propriedade no retorno IAsyncResult será definida para true indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade de para IAsyncResult obter o objeto de estado passado para o BeginReceive método.
A operação assíncrona BeginReceive deve ser concluída chamando o EndReceive método. Normalmente, o método é invocado pelo AsyncCallback delegado. EndReceive irá bloquear o thread que chama até que a operação seja concluída.
Feche o Socket para cancelar um pedido pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em curso, o callback fornecido ao BeginReceive método é chamado. Uma chamada subsequente ao método EndReceive lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
Note
state é uma instância de uma classe definida pelo utilizador.
Note
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.
Note
O contexto de execução (o contexto de segurança, o utilizador personificado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após a primeira utilização de um determinado contexto (um método assíncrono Socket específico, uma instância específica Socket e um callback específico), as utilizações subsequentes desse contexto verão uma melhoria de desempenho.
Ver também
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Organizar um Delegado como Método de Retorno
- Exemplo de Soquete Cliente Assíncrono
- Exemplo de Soquete de Servidor Assíncrono