UdpClient.EndSend(IAsyncResult) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Finaliza un envío asincrónico pendiente.
public:
int EndSend(IAsyncResult ^ asyncResult);
public int EndSend (IAsyncResult asyncResult);
member this.EndSend : IAsyncResult -> int
Public Function EndSend (asyncResult As IAsyncResult) As Integer
Parámetros
- asyncResult
- IAsyncResult
Objeto IAsyncResult devuelto por una llamada a BeginSend.
Devoluciones
Si se realiza correctamente, el número de bytes enviados a UdpClient.
Excepciones
asyncResult
es null
.
asyncResult
no se devolvió mediante una llamada al método BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).
Se llamó previamente a EndSend(IAsyncResult) para la lectura asincrónica.
Se ha producido un error al intentar obtener acceso al socket subyacente.
El objeto Socket subyacente se ha cerrado.
Ejemplos
En el ejemplo de código siguiente se usa BeginSend para completar un envío asincrónico de una solicitud de servidor.
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;
}
Comentarios
Este método se bloquea hasta que se complete la operación.
Para realizar esta operación de forma sincrónica, use el Send método .