Condividi tramite


CSocket::CancelBlockingCall

Chiamare la funzione membro per annullare attualmente una chiamata di blocco corrente.

void CancelBlockingCall( );

Note

Questa funzione annulla qualsiasi operazione costante di blocco per questo socket.La chiamata di blocco originale terminerà il prima possibile con l'errore WSAEINTR.

Nel caso di un'operazione di blocco Connetti, l'implementazione di Windows Sockets fine della chiamata di blocco il prima possibile, ma potrebbe non essere possibile che le risorse di socket siano rilasciate solo la connessione non abbia completato (quindi reimpostato) o timeout.Questo è probabilmente rilevante solo se l'applicazione immediatamente tenta di aprire un nuovo socket (se non sono disponibili socket, oppure connettere allo stesso peer.

Annullare qualsiasi operazione diverso da Accept può lasciare il socket in uno stato indeterminato.Se un'applicazione annulla un'operazione di blocco su un socket, l'unica operazione che l'applicazione può dipendere da eseguire su socket è una chiamata a Chiudi, sebbene altre operazioni possono essere utilizzati in alcune implementazioni Windows Sockets.Se si desidera che la portabilità massima per l'applicazione, è necessario prestare attenzione a non dipendere da eseguire le operazioni dopo un annullamento.

Per ulteriori informazioni, vedere Windows Sockets: Utilizzo di socket con gli archivi.

Requisiti

Header: afxsock.h

Vedere anche

Riferimenti

Classe di CSocket

Grafico della gerarchia

CAsyncSocket::Accept

CAsyncSocket::Close

CAsyncSocket::Connect

CSocket::IsBlocking

WSASetBlockingHook