UdpClient.EndSend(IAsyncResult) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
结束挂起的异步发送。
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 的字节数。
例外
asyncResult
为 null
。
对 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 方法的调用未返回 asyncResult
。
先前曾为异步读取调用过 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 方法。