Socket.EndSendTo(IAsyncResult) 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.
Encerra um envio assíncrono pendente para um local específico.
public:
int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo (IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer
Parâmetros
- asyncResult
- IAsyncResult
Um IAsyncResult que armazena informações de estado e dados definidos pelo usuário para essa operação assíncrona.
Retornos
Se for bem-sucedido, o número de bytes enviados; caso contrário, um erro Socket inválido.
Exceções
asyncResult
é null
.
asyncResult
não foi retornado por uma chamada ao método BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
O EndSendTo(IAsyncResult) foi chamado anteriormente para o envio assíncrono.
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 novo desenvolvimento. Em vez disso, use os Task
equivalentes baseados em .
EndSendTo conclui a operação iniciada por BeginSendTo. Você precisa passar o IAsyncResult criado pela chamada correspondente BeginSendTo .
Se você estiver usando um protocolo sem conexão, EndSendTo será bloqueado até que o datagrama seja enviado. Se você estiver usando um protocolo orientado a conexão, EndSendTo será bloqueado até que o número solicitado de bytes seja enviado. Não há nenhuma garantia de que os dados enviados serão exibidos na rede imediatamente. Para aumentar a eficiência da rede, o sistema subjacente pode atrasar a transmissão até que uma quantidade significativa de dados de saída seja coletada. Uma conclusão bem-sucedida do BeginSendTo método significa que o sistema subjacente teve espaço para armazenar seus dados em buffer para um envio de rede.
Observação
Se você receber um SocketException, use a SocketException.ErrorCode propriedade para obter o código de erro específico. Depois de obter esse código, consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.
Observação
Esse membro emite o rastreamento de informações quando você ativa o rastreamento de rede em seu aplicativo. Para obter mais informações, consulte Rastreamento de rede em .NET Framework.