Socket.ReceiveFromAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
.
O Socket foi fechado.
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.
O Socket foi fechado.
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.
O Socket foi fechado.
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
- 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.
O Socket foi fechado.
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
- 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.
O Socket foi fechado.
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
- 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 Socket foi fechado.
O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.