共用方式為


CSocket::CancelBlockingCall

呼叫此成員函式取消目前正在一個封鎖的呼叫。

void CancelBlockingCall( );

備註

這個函式會移除這個通訊端的所有未處理的封鎖作業。 封鎖呼叫的原始會盡快終止錯誤 WSAEINTR

在封鎖的 連接 作業的情況下, Windows Sockets 實作會盡快結束這個封鎖的呼叫,此呼叫,但是通訊端資源釋放可能無法執行,直到連接完成 (則重設) 或逾時。 這可能是顯著的,只有當應用程式會立即嘗試開啟新的通訊端 (Socket) (如果沒有可用的),或連接至相同的對等電腦。

取消刪除 接受 以外的任何作業都處於不定狀態可讓通訊端保留。 如果應用程式移除通訊端上的封鎖作業,單一作業的應用程式在通訊端可決定可以實作會呼叫 關閉,不過,其他作業可能會在某些 Windows Sockets 實作運作。 如果您希望應用程式的最大可攜性,您必須謹慎避免取決於執行作業在移除之後。

如需詳細資訊,請參閱 Windows Sockets:使用具有檔案的通訊端

需求

Header: afxsock.h

請參閱

參考

CSocket 類別

階層架構圖

CAsyncSocket::Accept

CAsyncSocket::Close

CAsyncSocket::Connect

CSocket::IsBlocking

WSASetBlockingHook