Compartilhar via


CSocket::CancelBlockingCall

Chamar essa função de membro para cancelar com um chamada de bloqueio em andamento.

void CancelBlockingCall( );

Comentários

Essa função cancela qualquer operação excelente de bloqueio para este soquete. A chamada original de bloqueio terminará o mais rápido possível com o erro WSAEINTR.

Em o caso de uma operação bloqueando de Conectar , a implementação da do windows terminará a chamada de bloqueio o mais rápido possível, mas talvez não seja possível para recursos de soquete ser liberado até que a conexão termina (e então redefina) ou expirado. Isso é provável de ser visível somente se o aplicativo tenta imediatamente abra um novo soquete (se nenhum soquete está disponível), ou conectar-se ao mesmo ponto.

Cancelar qualquer operação que não seja Aceitar pode deixar o soquete em um estado indefinido. Se um aplicativo cancela uma operação de bloqueio em um soquete, a única operação que o aplicativo pode depender de poder executar em soquete é uma chamada a Fechar, embora outras operações podem trabalhar em implementações de soquetes de algumas janelas. Se você desejar que a portabilidade máximo para seu aplicativo, você deve ter cuidado para não depender de executar operações após um botão.

Para obter mais informações, consulte Soquetes do windows: usando os soquetes com arquivos mortos.

Requisitos

Cabeçalho: afxsock.h

Consulte também

Referência

Classe CSocket

Gráfico da hierarquia

CAsyncSocket::Accept

CAsyncSocket::Close

CAsyncSocket::Connect

CSocket::IsBlocking

WSASetBlockingHook