Compartir a través de


CSocket::CancelBlockingCall

Llame a esta función miembro para cancelar una llamada de bloqueo actualmente en curso.

void CancelBlockingCall( );

Comentarios

Esta función cancela cualquier operación pendiente de bloqueo para este socket. La llamada original de bloqueo finalizará lo más rápidamente posible con el error WSAEINTR.

En el caso de una operación de Conectar de bloqueo, la implementación de Windows Sockets finalizará la llamada de bloqueo lo más rápidamente posible, pero puede no ser posible que los recursos de socket se lanzaron hasta que la conexión ha finalizado (y después ha reinicializado) o ha agotado el tiempo de espera. Es probable que ser apreciable sólo si la aplicación inmediatamente intenta abrir un nuevo socket (si no hay sockets disponible), o conectar el mismo par.

La cancelación de cualquier operación distinta de acepte puede dejar el socket en un estado indeterminado. Si una aplicación cancela una operación de bloqueo en un socket, la única operación que la aplicación puede depender de realizar en el socket es una llamada a Cerrar, aunque otras operaciones funcionen en algunas implementaciones de Windows Sockets. Si desea que la portabilidad máximo para la aplicación, debe tener cuidado de no dependen de realizar operaciones después de una eliminación.

Para obtener más información, vea Windows Sockets: Mediante sockets con archivos.

Requisitos

encabezado: afxsock.h

Vea también

Referencia

CSocket Class

Gráfico de jerarquías

CAsyncSocket::Accept

CAsyncSocket::Close

CAsyncSocket::Connect

CSocket::IsBlocking

WSASetBlockingHook