Compartilhar via


Socket.ReceiveFromAsync Método

Definição

Sobrecargas

Nome Description
ReceiveFromAsync(SocketAsyncEventArgs)

Começa a receber dados de forma assíncrona de um dispositivo de rede especificado.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Recebe dados e retorna o ponto de extremidade do host de envio.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Recebe dados e retorna o ponto de extremidade do host de envio.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Recebe dados e retorna o ponto de extremidade do host de envio.

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Recebe dados e retorna o ponto de extremidade do host de envio.

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Recebe um datagram no buffer de dados, usando o especificado SocketFlagse armazena o ponto de extremidade.

ReceiveFromAsync(SocketAsyncEventArgs)

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

Começa a receber dados de forma assíncrona de um dispositivo de rede especificado.

public:
 bool ReceiveFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveFromAsync (e As SocketAsyncEventArgs) As Boolean

Parâmetros

e
SocketAsyncEventArgs

O SocketAsyncEventArgs objeto a ser usado para esta operação de soquete assíncrona.

Retornos

true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será gerado após a conclusão da operação.

false se a operação de E/S for concluída de forma síncrona. Nesse caso, Completed o e evento no parâmetro não será gerado e o e objeto passado como um parâmetro poderá ser examinado imediatamente após a chamada do método retornar para recuperar o resultado da operação.

Exceções

Uma operação de soquete já estava em andamento usando o SocketAsyncEventArgs objeto especificado no e parâmetro.

Erro ao tentar acessar o soquete.

Comentários

O ReceiveFromAsync método é usado principalmente para receber dados em um soquete sem conexão. O endereço local do soquete deve ser conhecido.

O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade como um EndPoint do mesmo tipo que o ponto de extremidade do host remoto. A propriedade será atualizada no recebimento bem-sucedido para o ponto de extremidade remoto real.

A SocketAsyncEventArgs.SocketFlags propriedade no e parâmetro fornece ao provedor de serviços Window Sockets informações adicionais sobre a solicitação de leitura. Para obter mais informações sobre como usar esse parâmetro, consulte System.Net.Sockets.SocketFlags.

As seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto são necessários para chamar esse método com êxito:

O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado de usuário desejado antes de chamar o ReceiveFromAsync método, para que as informações sejam recuperáveis no método de retorno de chamada. Se o retorno de chamada precisar de mais informações do que um único objeto, uma classe pequena poderá ser criada para manter as outras informações de estado necessárias como membros.

Para soquetes orientados à mensagem, uma mensagem de entrada é colocada no buffer até o tamanho total do buffer. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset as propriedades determinam onde no buffer os dados são colocados e a quantidade de dados.

Para soquetes no estilo de fluxo de bytes, os dados de entrada são colocados no buffer até que o buffer seja preenchido, a conexão seja fechada ou os dados armazenados em buffer interno sejam esgotados. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset as propriedades determinam onde no buffer os dados são colocados e a quantidade de dados.

Confira também

Aplica-se a

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

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

Recebe dados e retorna o ponto de extremidade do host de envio.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync(ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)

Parâmetros

buffer
ArraySegment<Byte>

O buffer para os dados recebidos.

remoteEndPoint
EndPoint

Um ponto de extremidade do mesmo tipo que o ponto de extremidade do host remoto.

Retornos

Uma tarefa assíncrona que é concluída com um SocketReceiveFromResult número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Erro ao tentar acessar o soquete.

Um chamador na pilha de chamadas não tem as permissões necessárias.

Aplica-se a

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

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

Recebe dados e retorna o ponto de extremidade do host de envio.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveFromResult> ^ ReceiveFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync(ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveFromResult)

Parâmetros

buffer
ArraySegment<Byte>

O buffer para os dados recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit de valores SocketFlags que serão usados ao receber os dados.

remoteEndPoint
EndPoint

Um ponto de extremidade do mesmo tipo que o ponto de extremidade do host remoto.

Retornos

Uma tarefa assíncrona que é concluída com um SocketReceiveFromResult número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Erro ao tentar acessar o soquete.

Um chamador na pilha de chamadas não tem as permissões necessárias.

Aplica-se a

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

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

Recebe dados e retorna o ponto de extremidade do host de envio.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync(Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)

Parâmetros

buffer
Memory<Byte>

O buffer para os dados recebidos.

remoteEndPoint
EndPoint

Um ponto de extremidade do mesmo tipo que o ponto de extremidade do host remoto.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.

Retornos

Uma tarefa assíncrona que é concluída com um SocketReceiveFromResult número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Erro ao tentar acessar o soquete.

Um chamador na pilha de chamadas não tem as permissões necessárias.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Aplica-se a

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

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

Recebe dados e retorna o ponto de extremidade do host de envio.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult> ReceiveFromAsync(Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveFromResult>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveFromResult)

Parâmetros

buffer
Memory<Byte>

O buffer para os dados recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit de valores SocketFlags que serão usados ao receber os dados.

remoteEndPoint
EndPoint

Um ponto de extremidade do mesmo tipo que o ponto de extremidade do host remoto.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.

Retornos

Uma tarefa assíncrona que é concluída com um SocketReceiveFromResult número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Erro ao tentar acessar o soquete.

Um chamador na pilha de chamadas não tem as permissões necessárias.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Aplica-se a

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

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

Recebe um datagram no buffer de dados, usando o especificado SocketFlagse armazena o ponto de extremidade.

public System.Threading.Tasks.ValueTask<int> ReceiveFromAsync(Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.SocketAddress receivedAddress, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.SocketAddress * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, receivedAddress As SocketAddress, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parâmetros

buffer
Memory<Byte>

O buffer para os dados recebidos.

socketFlags
SocketFlags

Uma combinação bit a bit dos SocketFlags valores que serão usados ao receber os dados.

receivedAddress
SocketAddress

Uma SocketAddress instância que é atualizada com o valor do par remoto quando esse método retorna.

cancellationToken
CancellationToken

Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.

Retornos

Uma tarefa assíncrona que é concluída com um SocketReceiveFromResult número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

receivedAddress é null.

Erro ao tentar acessar o soquete.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Aplica-se a