Socket.ReceiveFromAsync Método

Definição

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

e
SocketAsyncEventArgs

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

buffer
Memory<Byte>

O buffer para os dados recebidos.

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

buffer
Memory<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.

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

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 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.

Aplica-se a