Partilhar via


Socket.BeginReceive Método

Definição

Começa a receber de maneira assíncrona dados de um Socket conectado.

Sobrecargas

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

Começa a receber de maneira assíncrona dados de um Socket conectado.

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

Começa a receber de maneira assíncrona dados de um Socket conectado.

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

Começa a receber de maneira assíncrona dados de um Socket conectado.

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

Começa a receber de maneira assíncrona dados de um Socket conectado.

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

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Começa a receber de maneira assíncrona dados de um 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[]

Uma matriz do tipo Byte que é o local de armazenamento dos dados recebidos.

offset
Int32

O local no buffer para armazenar os dados recebidos.

size
Int32

O número de bytes a serem recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores SocketFlags.

errorCode
SocketError

Um objeto SocketError que armazena o erro de soquete.

callback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação é concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de recebimento. Esse objeto é passado para o delegado EndReceive(IAsyncResult) quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à leitura assíncrona.

Exceções

buffer é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

offset é menor que 0.

- ou -

offset é maior que o comprimento do buffer.

- ou -

size é menor que 0.

- ou -

size é maior que o comprimento da subtração de buffer e do valor do parâmetro offset.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada será executado embutido durante a chamada para BeginReceive. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida true como para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para 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 bloqueará o thread de chamada até que a operação seja concluída.

Feche o Socket para cancelar um pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em andamento, o retorno de chamada fornecido ao BeginReceive método é chamado. Uma chamada subsequente para o EndReceive método gerará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Observação

Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.

Observação

state é uma instanciação de uma classe definida pelo usuário.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

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

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Começa a receber de maneira assíncrona dados de um 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[]

Uma matriz do tipo Byte que é o local de armazenamento dos dados recebidos.

offset
Int32

A posição de base zero no parâmetro buffer no qual armazenar os dados recebidos.

size
Int32

O número de bytes a serem recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores SocketFlags.

callback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação é concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de recebimento. Esse objeto é passado para o delegado EndReceive(IAsyncResult) quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à leitura assíncrona.

Exceções

buffer é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

offset é menor que 0.

- ou -

offset é maior que o comprimento do buffer.

- ou -

size é menor que 0.

- ou -

size é maior que o comprimento da subtração de buffer e do valor do parâmetro offset.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada será executado embutido durante a chamada para BeginReceive. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida true como para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para 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 bloqueará o thread de chamada até que a operação seja concluída.

Feche o Socket para cancelar um pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em andamento, o retorno de chamada fornecido ao BeginReceive método é chamado. Uma chamada subsequente para o EndReceive método gerará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Observação

Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.

Observação

state é uma instanciação de uma classe definida pelo usuário.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

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

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Começa a receber de maneira assíncrona dados de um 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>>

Uma matriz do tipo Byte que é o local de armazenamento dos dados recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores SocketFlags.

callback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação é concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de recebimento. Esse objeto é passado para o delegado EndReceive(IAsyncResult) quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à leitura assíncrona.

Exceções

buffer é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada será executado embutido durante a chamada para BeginReceive. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para 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 bloqueará o thread de chamada até que a operação seja concluída.

Feche o Socket para cancelar um pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em andamento, o retorno de chamada fornecido ao BeginReceive método é chamado. Uma chamada subsequente para o EndReceive método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Observação

Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.

Observação

state é uma instanciação de uma classe definida pelo usuário.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a

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

Origem:
Socket.cs
Origem:
Socket.cs
Origem:
Socket.cs

Começa a receber de maneira assíncrona dados de um 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>>

Uma matriz do tipo Byte que é o local de armazenamento dos dados recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit dos valores SocketFlags.

errorCode
SocketError

Um objeto SocketError que armazena o erro de soquete.

callback
AsyncCallback

Um delegado AsyncCallback que faz referência ao método a ser invocado quando a operação é concluída.

state
Object

Um objeto definido pelo usuário que contém informações sobre a operação de recebimento. Esse objeto é passado para o delegado EndReceive(IAsyncResult) quando a operação é concluída.

Retornos

Um IAsyncResult que faz referência à leitura assíncrona.

Exceções

buffer é null.

.NET Framework e .NET 5 e somente anteriores: ocorreu um erro ao tentar acessar o soquete.

Comentários

Importante

Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados em .

Você pode passar um retorno de chamada que implementa AsyncCallback para BeginReceive ser notificado sobre a conclusão da operação. Observe que, se a pilha de rede subjacente concluir a operação de forma síncrona, o retorno de chamada será executado embutido durante a chamada para BeginReceive. Nesse caso, a CompletedSynchronously propriedade no retornado IAsyncResult será definida como true para indicar que o método foi concluído de forma síncrona. Use a AsyncState propriedade do IAsyncResult para 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 bloqueará o thread de chamada até que a operação seja concluída.

Feche o Socket para cancelar um pendente BeginReceive. Quando o Close método é chamado enquanto uma operação assíncrona está em andamento, o retorno de chamada fornecido ao BeginReceive método é chamado. Uma chamada subsequente para o EndReceive método lançará um ObjectDisposedException (antes do .NET 7) ou um SocketException (no .NET 7+) para indicar que a operação foi cancelada.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Observação

Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.

Observação

state é uma instanciação de uma classe definida pelo usuário.

Observação

Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.

Observação

O contexto de execução (o contexto de segurança, o usuário representado e o contexto de chamada) é armazenado em cache para os métodos assíncronos Socket . Após o primeiro uso de um contexto específico (um método assíncrono Socket específico, uma instância específica Socket e um retorno de chamada específico), os usos subsequentes desse contexto verão uma melhoria de desempenho.

Confira também

Aplica-se a