UdpClient.EndSend(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.
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 .