Socket.EndSendFile(IAsyncResult) Método

Definición

Finaliza un envío asincrónico de archivo pendiente.

public:
 void EndSendFile(IAsyncResult ^ asyncResult);
public void EndSendFile (IAsyncResult asyncResult);
member this.EndSendFile : IAsyncResult -> unit
Public Sub EndSendFile (asyncResult As IAsyncResult)

Parámetros

asyncResult
IAsyncResult

Objeto IAsyncResult que almacena información de estado para esta operación asincrónica.

Excepciones

Solo .NET 8+: el socket no está conectado a un host remoto.

Solo .NET Framework, .NET Core y .NET 5-6: Socket se ha cerrado .

asyncResult está vacía.

asyncResult no se devolvió mediante una llamada al método BeginSendFile(String, AsyncCallback, Object).

Error al intentar acceder al socket.

o bien

Solo .NET 7+: Socket se ha cerrado.

Comentarios

Importante

Se trata de una API de compatibilidad. No se recomienda usar los métodos de APM (Begin* y End*) para el nuevo desarrollo. En su lugar, use los Taskequivalentes basados en .

EndSendFile completa la operación iniciada por BeginSend. Debe pasar el IAsyncResult objeto creado por la llamada coincidente BeginSend .

Si usa un protocolo sin conexión, EndSendFile se bloquea hasta que se envíe el datagrama. Si usa un protocolo orientado a la conexión, EndSendFile se bloquea hasta que se envíe todo el archivo. No hay ninguna garantía de que los datos que envíe aparecerán en la red inmediatamente. Para aumentar la eficiencia de la red, el sistema subyacente puede retrasar la transmisión hasta que se recopile una cantidad significativa de datos salientes. Una finalización correcta del BeginSendFile método significa que el sistema subyacente ha tenido espacio para almacenar en búfer los datos de un envío de red.

Nota

Si recibe un SocketException, use la SocketException.ErrorCode propiedad para obtener el código de error específico. Después de obtener este código, consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.

Nota

Este miembro genera información de seguimiento cuando se habilita el seguimiento de red en la aplicación. Para obtener más información, consulte Seguimiento de red en .NET Framework.

Se aplica a