Socket.EndReceive 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.
Termina uma leitura assíncrona pendente.
Sobrecargas
| Name | Description |
|---|---|
| EndReceive(IAsyncResult) |
Termina uma leitura assíncrona pendente. |
| EndReceive(IAsyncResult, SocketError) |
Termina uma leitura assíncrona pendente. |
EndReceive(IAsyncResult)
Termina uma leitura assíncrona pendente.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive(IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) 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.
Devoluções
O número total de bytes recebidos. O método retorna zero (0) apenas se foram solicitados zero bytes ou se não houver mais bytes disponíveis porque o socket peer realizou um desligamento gracioso. Se forem solicitados zero bytes, as operações de receção podem ser concluídas imediatamente ou podem não ser concluídas até que pelo menos um byte esteja disponível (mas sem consumir quaisquer dados).
Exceções
asyncResult é null.
asyncResult não foi respondido por uma chamada ao BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método.
EndReceive(IAsyncResult) foi anteriormente chamada para a leitura assíncrona.
.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 .
EndReceive completa a operação iniciada por BeginReceive. Tem de passar a decisão IAsyncResult criada pela chamada correspondente BeginReceive .
O EndReceive método irá bloquear até que os dados estejam disponíveis. Se estiver a usar um protocolo sem conexão, EndReceive irá ler o primeiro datagrama enfileirado disponível no buffer de rede de entrada. Se estiver a usar um protocolo orientado à ligação, o EndReceive método irá ler tantos dados quanto estiver disponível até ao número de bytes especificados no size parâmetro do BeginReceive 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 EndReceive método será concluído imediatamente e retornará zero bytes.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
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.
Ver também
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Aplica-se a
EndReceive(IAsyncResult, SocketError)
Termina uma leitura assíncrona pendente.
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive(IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) 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.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
Devoluções
O número total de bytes recebidos. O método retorna zero (0) apenas se foram solicitados zero bytes ou se não houver mais bytes disponíveis porque o socket peer realizou um desligamento gracioso. Se forem solicitados zero bytes, as operações de receção podem ser concluídas imediatamente ou podem não ser concluídas até que pelo menos um byte esteja disponível (mas sem consumir quaisquer dados).
Exceções
asyncResult é null.
asyncResult não foi respondido por uma chamada ao BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método.
EndReceive(IAsyncResult) foi anteriormente chamada para a leitura assíncrona.
.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 .
EndReceive completa a operação iniciada por BeginReceive. Tem de passar a decisão IAsyncResult criada pela chamada correspondente BeginReceive .
O EndReceive método irá bloquear até que os dados estejam disponíveis. Se estiver a usar um protocolo sem conexão, EndReceive irá ler o primeiro datagrama enfileirado disponível no buffer de rede de entrada. Se estiver a usar um protocolo orientado à ligação, o EndReceive método irá ler tantos dados quanto estiver disponível até ao número de bytes especificados no size parâmetro do BeginReceive 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 EndReceive método será concluído imediatamente e retornará zero bytes.
Note
Se receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Note
Todas as E/S iniciadas por uma dada thread são canceladas quando essa thread sai. Uma operação assíncrona pendente pode falhar se a thread sair antes da operação terminar.
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.
Ver também
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)