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
| 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
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
Não RemoteEndPoint pode ser nulo.
Uma operação de soquete já estava em andamento usando o SocketAsyncEventArgs objeto especificado no e parâmetro.
O Socket foi fechado.
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.
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
- 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.
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
- 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 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.
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
- 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 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.
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
- 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
- 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 Socket foi fechado.
O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.