Comparteix a través de


UdpClient.EndSend(IAsyncResult) Método

Definición

Finaliza un envío asincrónico pendiente.

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

Objeto IAsyncResult devuelto por una llamada a BeginSend.

Devoluciones

Si se realiza correctamente, el número de bytes enviados a UdpClient.

Excepciones

asyncResult es null.

asyncResult no se devolvió mediante una llamada al método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).

Se llamó previamente a EndSend(IAsyncResult) para la lectura asincrónica.

Se ha producido un error al intentar obtener acceso al socket subyacente.

El objeto Socket subyacente se ha cerrado.

Ejemplos

En el ejemplo de código siguiente se usa BeginSend para completar un envío asincrónico de una solicitud 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;
}

Comentarios

Este método se bloquea hasta que se complete la operación.

Para realizar esta operación de forma sincrónica, use el Send método .

Se aplica a