Compartilhar via


UdpClient.EndSend(IAsyncResult) Método

Definição

Encerra um envio assíncrono pendente.

public:
 int EndSend(IAsyncResult ^ asyncResult);
public int EndSend (IAsyncResult asyncResult);
member this.EndSend : IAsyncResult -> int
Public Function EndSend (asyncResult As IAsyncResult) As Integer

Parâmetros

asyncResult
IAsyncResult

Um objeto IAsyncResult retornado por uma chamada para BeginSend.

Retornos

Se tiver êxito, o número de bytes enviados para o UdpClient.

Exceções

asyncResult é null.

asyncResult não foi retornado por uma chamada ao método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).

O EndSend(IAsyncResult) foi chamado anteriormente para a leitura assíncrona.

Erro ao tentar acessar o soquete subjacente.

O Socket subjacente foi fechado.

Exemplos

O exemplo de código a seguir usa BeginSend para concluir um envio assíncrono de uma solicitação de servidor.

public:
    static bool isMessageSent;

    static void SendCallback(IAsyncResult^ asyncResult)
    {
        UdpClient^ udpClient = (UdpClient^)asyncResult->AsyncState;

        Console::WriteLine("number of bytes sent: {0}",
            udpClient->EndSend(asyncResult));
        isMessageSent = true;
    }
public static bool messageSent = false;

public static void SendCallback(IAsyncResult ar)
{
    UdpClient u = (UdpClient)ar.AsyncState;

    Console.WriteLine($"number of bytes sent: {u.EndSend(ar)}");
    messageSent = true;
}

Comentários

Esse método bloqueia até que a operação seja concluída.

Para executar essa operação de forma síncrona, use o Send método .

Aplica-se a