UdpClient.EndSend(IAsyncResult) 方法

定义

结束挂起的异步发送。

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

参数

asyncResult
IAsyncResult

调用 BeginSend 后返回的 IAsyncResult 对象。

返回

如果成功,则返回已发送到 UdpClient 的字节数。

例外

asyncResultnull

先前曾为异步读取调用过 EndSend(IAsyncResult)

尝试访问基础套接字时出错。

已关闭基础 Socket

示例

下面的代码示例使用 BeginSend 完成服务器请求的异步发送。

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

注解

此方法将阻止,直到操作完成。

若要同步执行此操作,请使用 Send 方法。

适用于