Socket.EndReceive 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.
Termina uma leitura assíncrona pendente.
Sobrecargas
| Nome | Description |
|---|---|
| EndReceive(IAsyncResult) |
Termina uma leitura assíncrona pendente. |
| EndReceive(IAsyncResult, SocketError) |
Termina uma leitura assíncrona pendente. |
EndReceive(IAsyncResult)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
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
Um IAsyncResult que armazena informações de estado e todos os dados definidos pelo usuário para essa operação assíncrona.
Retornos
O número total de bytes recebidos. O método retornará zero (0) somente se zero bytes tiverem sido solicitados ou se não houver mais bytes disponíveis porque o soquete par realizou um desligamento normal. Se zero bytes forem solicitados, as operações de recebimento poderão ser concluídas imediatamente ou não serão concluídas até que pelo menos um byte esteja disponível (mas sem consumir dados).
Exceções
asyncResult é null.
asyncResult não foi retornado por uma chamada para o BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método.
EndReceive(IAsyncResult) foi chamado anteriormente para a leitura assíncrona.
Somente .NET Framework, .NET Core e .NET 5-6: o Socket foi fechado.
Comentários
Importante
Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.
EndReceive conclui a operação iniciada por BeginReceive. Você precisa passar a IAsyncResult chamada criada pela chamada correspondente BeginReceive .
O EndReceive método será bloqueado até que os dados sejam disponibilizados. Se você estiver usando um protocolo sem conexão, EndReceive lerá o primeiro datagrama enfileirado disponível no buffer de rede de entrada. Se você estiver usando um protocolo orientado à conexão, o EndReceive método lerá o máximo de dados que estiver disponível até o número de bytes especificados no size parâmetro do BeginReceive método. Se o host remoto desligar a Socket conexão com o Shutdown método e todos os dados disponíveis tiverem sido recebidos, o EndReceive método será concluído imediatamente e retornará zero bytes.
Observação
Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Observação
Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.
Observação
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.
Confira também
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Aplica-se a
EndReceive(IAsyncResult, SocketError)
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
- Origem:
- Socket.cs
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
Um IAsyncResult que armazena informações de estado e todos os dados definidos pelo usuário para essa operação assíncrona.
- errorCode
- SocketError
Um SocketError objeto que armazena o erro do soquete.
Retornos
O número total de bytes recebidos. O método retornará zero (0) somente se zero bytes tiverem sido solicitados ou se não houver mais bytes disponíveis porque o soquete par realizou um desligamento normal. Se zero bytes forem solicitados, as operações de recebimento poderão ser concluídas imediatamente ou não serão concluídas até que pelo menos um byte esteja disponível (mas sem consumir dados).
Exceções
asyncResult é null.
asyncResult não foi retornado por uma chamada para o BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) método.
EndReceive(IAsyncResult) foi chamado anteriormente para a leitura assíncrona.
Somente .NET Framework, .NET Core e .NET 5-6: o Socket foi fechado.
Comentários
Importante
Essa é uma API de compatibilidade. Não recomendamos usar os métodos APM (Begin* e End*) para o novo desenvolvimento. Em vez disso, use os Taskequivalentes baseados.
EndReceive conclui a operação iniciada por BeginReceive. Você precisa passar a IAsyncResult chamada criada pela chamada correspondente BeginReceive .
O EndReceive método será bloqueado até que os dados sejam disponibilizados. Se você estiver usando um protocolo sem conexão, EndReceive lerá o primeiro datagrama enfileirado disponível no buffer de rede de entrada. Se você estiver usando um protocolo orientado à conexão, o EndReceive método lerá o máximo de dados que estiver disponível até o número de bytes especificados no size parâmetro do BeginReceive método. Se o host remoto desligar a Socket conexão com o Shutdown método e todos os dados disponíveis tiverem sido recebidos, o EndReceive método será concluído imediatamente e retornará zero bytes.
Observação
Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico.
Observação
Todas as E/S iniciadas por um determinado thread são canceladas quando esse thread é encerrado. Uma operação assíncrona pendente poderá falhar se o thread for encerrado antes da conclusão da operação.
Observação
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de Rede no .NET Framework.
Confira também
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)