Condividi tramite


UdpClient.EndSend(IAsyncResult) Metodo

Definizione

Termina un invio asincrono in attesa.

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

Parametri

asyncResult
IAsyncResult

Oggetto IAsyncResult restituito da un chiamata a BeginSend.

Restituisce

Se ha esito positivo, numero di byte inviati alla classe UdpClient.

Eccezioni

asyncResult è null.

asyncResult non è stato restituito da una chiamata al metodo BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).

EndSend(IAsyncResult) è stato precedentemente chiamato per la lettura asincrona.

Si è verificato un errore durante il tentativo di accesso al socket sottostante.

Oggetto Socket sottostante è stato chiuso.

Esempio

Nell'esempio di codice seguente viene BeginSend usato per completare un invio asincrono di una richiesta server.

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;
}

Commenti

Questo metodo blocca fino al completamento dell'operazione.

Per eseguire questa operazione in modo sincrono, usare il Send metodo .

Si applica a