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
Объект IAsyncResult, возвращаемый при вызове объекта BeginSend.
Возвращаемое значение
Количество отправленных объекту UdpClient байтов, если операция успешно выполнена.
Исключения
asyncResult
имеет значение null
.
Параметр asyncResult
не был возвращен вызовом метода BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).
Метод 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 метод .