Freigeben über


UdpClient.EndSend(IAsyncResult) Methode

Definition

Beendet einen ausstehenden asynchronen Sendevorgang.

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

Parameter

asyncResult
IAsyncResult

Ein IAsyncResult-Objekt, das durch einen Aufruf von BeginSend zurückgegeben wird.

Gibt zurück

Wenn erfolgreich, die Anzahl der an den UdpClient gesendeten Bytes.

Ausnahmen

asyncResult ist null.

asyncResult wurde nicht durch einen Aufruf der BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)-Methode zurückgegeben.

EndSend(IAsyncResult) wurde bereits für den asynchronen Lesevorgang aufgerufen.

Fehler beim Zugriff auf den zugrunde liegenden Socket.

Der zugrunde liegende Socket wurde geschlossen.

Beispiele

Im folgenden Codebeispiel wird verwendet BeginSend , um ein asynchrones Senden einer Serveranforderung abzuschließen.

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

Hinweise

Diese Methode blockiert, bis der Vorgang abgeschlossen ist.

Verwenden Sie die Send -Methode, um diesen Vorgang synchron auszuführen.

Gilt für: