Socket.ReceiveFromAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | 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 devolve o endpoint do host emissor. |
| ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Recebe dados e devolve o endpoint do host emissor. |
| ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Recebe dados e devolve o endpoint do host emissor. |
| ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Recebe dados e devolve o endpoint do host emissor. |
| ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Recebe um datagrama no buffer de dados, usando o especificado SocketFlags, e armazena o endpoint. |
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 usar para esta operação de soquete assíncrono.
Devoluções
true se a operação de E/S estiver pendente. O Completed evento no e parâmetro será ativado após a conclusão da operação.
false se a operação de E/S fosse concluída de forma síncrona. Neste caso, o Completed evento sobre o e parâmetro não será levantado e o e objeto passado como parâmetro pode ser examinado imediatamente após o retorno da chamada ao método para recuperar o resultado da operação.
Exceções
Não RemoteEndPoint podem ser nulas.
Uma operação de socket já estava em curso usando o SocketAsyncEventArgs objeto especificado no e parâmetro.
O Socket local foi encerrado.
Ocorreu um erro ao tentar aceder ao soquete.
Observações
O ReceiveFromAsync método é usado principalmente para receber dados numa soquete sem ligação. O endereço local do socket deve ser conhecido.
O chamador deve definir a SocketAsyncEventArgs.RemoteEndPoint propriedade para a EndPoint do mesmo tipo que o endpoint do host remoto. A propriedade será atualizada após a receção bem-sucedida para o endpoint remoto real.
A SocketAsyncEventArgs.SocketFlags propriedade no e parâmetro fornece ao fornecedor de serviços Window Sockets informações adicionais sobre o pedido de leitura. Para mais informações sobre como usar este parâmetro, veja System.Net.Sockets.SocketFlags.
As seguintes propriedades e eventos no System.Net.Sockets.SocketAsyncEventArgs objeto são necessárias para chamar com sucesso este método:
O chamador pode definir a SocketAsyncEventArgs.UserToken propriedade para qualquer objeto de estado do utilizador desejado antes de chamar o ReceiveFromAsync método, de modo a que a informação seja recuperável no método de retorno. Se o callback precisar de mais informação do que um único objeto, pode ser criada uma pequena classe para conter as outras informações de estado necessárias como membros.
Para sockets orientados a mensagens, uma mensagem recebida é colocada no buffer até ao 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 sockets em estilo fluxo de bytes, os dados recebidos são colocados no buffer até que o buffer seja preenchido, a ligação seja fechada ou os dados internamente armazenados sejam esgotados. As SocketAsyncEventArgs.Count propriedades e SocketAsyncEventArgs.Offset determinam onde no buffer os dados são colocados e a quantidade de dados.
Ver 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 devolve o endpoint do host emissor.
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 endpoint do mesmo tipo do endpoint do host remoto.
Devoluções
Uma tarefa assíncrona que se completa com a SocketReceiveFromResult contendo o número de bytes recebidos e o ponto final do host emissor.
Exceções
remoteEndPoint é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
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 devolve o endpoint do host emissor.
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 dos valores SocketFlags que será usada ao receber os dados.
- remoteEndPoint
- EndPoint
Um endpoint do mesmo tipo do endpoint do host remoto.
Devoluções
Uma tarefa assíncrona que se completa com a SocketReceiveFromResult contendo o número de bytes recebidos e o ponto final do host emissor.
Exceções
remoteEndPoint é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
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 devolve o endpoint do host emissor.
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 endpoint do mesmo tipo do endpoint do host remoto.
- cancellationToken
- CancellationToken
Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.
Devoluções
Uma tarefa assíncrona que se completa com a SocketReceiveFromResult contendo o número de bytes recebidos e o ponto final do host emissor.
Exceções
remoteEndPoint é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Um chamador na pilha de chamadas não tem as permissões necessárias.
O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.
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 devolve o endpoint do host emissor.
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 dos valores SocketFlags que será usada ao receber os dados.
- remoteEndPoint
- EndPoint
Um endpoint do mesmo tipo do endpoint do host remoto.
- cancellationToken
- CancellationToken
Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.
Devoluções
Uma tarefa assíncrona que se completa com a SocketReceiveFromResult contendo o número de bytes recebidos e o ponto final do host emissor.
Exceções
remoteEndPoint é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
Um chamador na pilha de chamadas não tem as permissões necessárias.
O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.
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 datagrama no buffer de dados, usando o especificado SocketFlags, e armazena o endpoint.
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 este método regressa.
- cancellationToken
- CancellationToken
Um token de cancelamento que pode ser usado para sinalizar a operação assíncrona deve ser cancelado.
Devoluções
Uma tarefa assíncrona que se completa com a SocketReceiveFromResult contendo o número de bytes recebidos e o ponto final do host emissor.
Exceções
receivedAddress é null.
Ocorreu um erro ao tentar aceder ao soquete.
O Socket local foi encerrado.
O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.