Socket.BeginReceiveMessageFrom Método

Definição

Inicia o recebimento de forma assíncrona do número especificado de bytes de dados no local especificado do buffer de dados, usando o SocketFlags especificado e armazena as informações de ponto de extremidade e de pacote.

public:
 IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, 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.

size
Int32

O número de bytes a serem recebidos.

socketFlags
SocketFlags

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

remoteEP
EndPoint

Um EndPoint que representa a fonte de dados.

callback
AsyncCallback

O delegado AsyncCallback.

state
Object

Um objeto que contém informações de estado para essa solicitação.

Retornos

IAsyncResult

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

Exceções

buffer é null.

- ou -

remoteEP é null.

.NET Framework e .NET 5 e somente anterior: 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

A operação de recebimento assíncrono deve ser concluída chamando o EndReceiveMessageFrom método. Normalmente, o método é invocado pelo asyncCallback delegado.

Esse método não é bloqueado até que a operação seja concluída. Para bloquear até que a operação seja concluída, use o ReceiveMessageFrom método.

Para cancelar uma pendência BeginReceiveMessageFrom, chame o Close método.

Para obter informações detalhadas sobre como usar o modelo de programação assíncrona, consulte Chamando métodos síncronos de forma assíncrona

Esse método lê dados no buffer parâmetro e captura o ponto de extremidade do host remoto do qual os dados são enviados, bem como informações sobre o pacote recebido. Para obter informações sobre como recuperar esse ponto de extremidade, consulte EndReceiveFrom. Esse método será mais útil se você pretende receber assíncronamente datagramas sem conexão de um host desconhecido ou de vários hosts.

Observação

Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

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

Aplica-se a