Socket.EndReceiveFrom(IAsyncResult, EndPoint) Método

Definição

Termina uma leitura assíncrona pendente de um endpoint específico.

public:
 int EndReceiveFrom(IAsyncResult ^ asyncResult, System::Net::EndPoint ^ % endPoint);
public int EndReceiveFrom(IAsyncResult asyncResult, ref System.Net.EndPoint endPoint);
member this.EndReceiveFrom : IAsyncResult * EndPoint -> int
Public Function EndReceiveFrom (asyncResult As IAsyncResult, ByRef endPoint As EndPoint) As Integer

Parâmetros

asyncResult
IAsyncResult

E IAsyncResult que armazena informação de estado e quaisquer dados definidos pelo utilizador para esta operação assíncrona.

endPoint
EndPoint

A fonte EndPoint.

Devoluções

Se for bem-sucedido, o número de bytes recebidos. Se não for bem-sucedido, devolve 0.

Exceções

asyncResult é null.

EndReceiveFrom(IAsyncResult, EndPoint) foi anteriormente chamada para a leitura assíncrona.

Ocorreu um erro ao tentar aceder ao soquete.

-ou-

.NET apenas 7+: O Socket foi encerrado.

.NET Framework, .NET Core e .NET 5-6 apenas: O Socket foi encerrado.

Observações

Importante

Isto é uma API de compatibilidade. Não recomendamos o uso dos métodos APM (Begin* e End*) para novos desenvolvimentos. Em vez disso, use os Taskequivalentes baseados em .

EndReceiveFrom completa a operação iniciada por BeginReceiveFrom. Tem de passar a decisão IAsyncResult criada pela chamada correspondente BeginReceiveFrom .

O EndReceiveFrom método irá bloquear até que os dados estejam disponíveis. Se estiver a usar um protocolo sem conexão, EndReceiveFrom irá ler o primeiro datagrama enfileirado disponível no buffer de rede de entrada. Se estiver a usar um protocolo orientado à ligação, o EndReceiveFrom método irá ler tantos dados quanto estiver disponível até ao número de bytes especificados no size parâmetro do BeginReceiveFrom método. Se o host remoto desligar a Socket ligação com o Shutdown método e todos os dados disponíveis forem recebidos, o EndReceiveFrom método será concluído imediatamente e retornará zero bytes. Para obter os dados recebidos, chama o AsyncState método do IAsyncResult objeto e extrai o buffer contido no objeto de estado resultante. Para identificar o hospedeiro de origem, extrai o EndPoint e lança-o para um IPEndPoint. Use o IPEndPoint.Address método para obter o endereço IP e o IPEndPoint.Port método para obter o número da porta.

Note

Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.

Note

Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Network Tracing in .NET Framework.

Aplica-se a