Socket.ReceiveFromAsync Método

Definição

Sobrecargas

ReceiveFromAsync(SocketAsyncEventArgs)

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

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 datagrama no buffer de dados, usando o SocketFlags especificado e armazena o ponto de extremidade.

ReceiveFromAsync(SocketAsyncEventArgs)

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

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

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 objeto SocketAsyncEventArgs a ser usado nessa operação de soquete assíncrono.

Retornos

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

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

Exceções

O RemoteEndPoint não pode ser nulo.

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

Ocorreu um 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 de Soquetes de Janela 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 como qualquer objeto de estado de usuário desejado antes de chamar o ReceiveFromAsync método , para que as informações possam ser recuperadas 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 a mensagens, uma mensagem de entrada é colocada no buffer até o tamanho total do buffer. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset 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 internamente sejam esgotados. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset 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

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 contendo o número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Ocorreu um 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

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 contendo o número de bytes recebidos e o ponto de extremidade do host de envio.

Exceções

remoteEndPoint é null.

Ocorreu um 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

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 que a operação assíncrona deve ser cancelada.

Retornos

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

Exceções

remoteEndPoint é null.

Ocorreu um 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

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 que a operação assíncrona deve ser cancelada.

Retornos

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

Exceções

remoteEndPoint é null.

Ocorreu um 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

Recebe um datagrama no buffer de dados, usando o SocketFlags especificado e 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 que a operação assíncrona deve ser cancelada.

Retornos

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

Exceções

receivedAddress é null.

Ocorreu um erro ao tentar acessar o soquete.

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

Aplica-se a