共用方式為


CAsyncSocket::ShutDown

呼叫此成員函式停用傳送或接收,都會在通訊端。

BOOL ShutDown(
   int nHow = sends 
);

參數

  • nHow
    描述的旗標何種作業將不再允許,使用下列其中一個列舉值:

    • 接收= 0

    • 傳送= 1

    • 兩個= 2

傳回值

如果不是零,則函式成功,否則 0 和特定錯誤碼來呼叫 GetLastError擷取。 下列錯誤套用至這個成員函式:

  • WSANOTINITIALISED A 成功 AfxSocketInit 必須在使用此 API 之前發生。

  • WSAENETDOWN 視窗通訊端實作偵測網路子系統失敗。

  • WSAEINVAL   nHow 無效。

  • 封鎖視窗通訊端作業的WSAEINPROGRESS A 正在進行中。

  • WSAENOTCONN 通訊端未連接SOCK_STREAM (僅限)。

  • WSAENOTSOCK 描述元不是通訊端。

備註

ShutDown 通訊端上的所有型別用於停用主應用程式一樣,傳輸或兩者。 如果為 0, nHow 後續在通訊端接收會禁止。 這並不會影響較低的通訊協定層。

對於傳輸控制通訊協定 (TCP) (TCP),並未變更 TCP 視窗,然後輸入資料都會接受 (,但尚未認可),直到視窗已用盡。 對於使用者資料包通訊協定 (UDP) (UDP),傳入的資料會接收資料包並排入佇列。 ICMP 錯誤封包中不會產生。 如果為 1, nHow 後續傳送不允許。 若是 TCP 通訊端,以翅傳送。 為 2 時會停用的設定 nHow 如上所述傳送和接收作業。

請注意 ShutDown 不關閉通訊端,然後,資源附加到通訊端不會釋放,直到 關閉 呼叫。 在關閉之後,應用程式不應該倚賴可以重複使用通訊端。 特別的是,不需要 Windows Sockets 實作支援在這類通訊端的 連接

範例

CAsyncSocket::OnReceive。請參閱範例。

需求

Header: afxsock.h

請參閱

參考

CAsyncSocket 類別

階層架構圖

CAsyncSocket::Connect

CAsyncSocket::Create