Freigeben über


CSocket::CancelBlockingCall

Rufen Sie die Memberfunktion auf, um einen blockierenden Aufruf derzeit laufenden abzubrechen.

void CancelBlockingCall( );

Hinweise

Diese Funktion bricht alle ausstehenden Blockierungsvorgang für diesen Socket ab.Der ursprüngliche blockierenden Aufruf beendet wird so schnell wie möglich mit dem Fehler WSAEINTR.

Bei einem blockierenden Verbinden Vorgangs beendet die Windows Socket-Implementierung den blockierenden Aufruf so schnell wie möglich, es ist jedoch möglicherweise nicht möglich für die Socketressourcen freigegeben werden, bis die Verbindung (und dann zurückgesetzt) oder überschritten abgeschlossen ist.Dies ist wahrscheinlich, bemerkt zu werden nur wenn die Anwendung sofort versucht, einen neuen Socket zu öffnen (wenn keine Sockets verfügbar sind), oder mit demselben Peer herzustellen.

Durch Abbrechen eines beliebigen Vorgangs anders Annehmen kann den Socket in einem unbestimmten Zustand verbleiben.Wenn eine Anwendung einen Blockierungsvorgang auf einem Socket abbricht, ist der einzige Vorgang, dass die Anwendung auf die Möglichkeit angewiesen sein kann, auf dem Socket auszuführen, ein Aufruf Schließen, obwohl andere Operationen an Implementierungen einiger Windows Sockets arbeiten.Wenn Sie maximale Portabilität für die Anwendung soll, müssen Sie darauf achten, dass nicht vom Ausführen von Vorgängen nach einem Löschen abhängen.

Weitere Informationen finden Sie unter Windows Sockets: Verwenden von Sockets mit Archiven.

Anforderungen

Header: afxsock.h

Siehe auch

Referenz

CSocket-Klasse

Hierarchien-Diagramm

CAsyncSocket::Accept

CAsyncSocket::Close

CAsyncSocket::Connect

CSocket::IsBlocking

WSASetBlockingHook