Condividi tramite


CAsyncSocket::ShutDown

Chiamare la funzione membro per disabilitare invio, riceve, o entrambi su socket.

BOOL ShutDown(
   int nHow = sends 
);

Parametri

  • nHow
    Un flag che descrive il tipo di operazione non è più consentito, utilizzando i seguenti valori enumerati:

    • riceve = 0

    • invia = 1

    • entrambi = 2

Valore restituito

Diverso da zero se la funzione ha esito positivo; in caso contrario 0 e un codice di errore specifico possono essere recuperati chiamando GetLastError.Gli errori seguenti si applicano a questa funzione membro:

  • WSANOTINITIALISED Al AfxSocketInit deve verificarsi prima di utilizzare questa API.

  • WSAENETDOWN che l'implementazione di Windows Sockets ha rilevato che il sottosistema di rete non è riuscita.

  • WSAEINVAL   nHow non è valido.

  • WSAEINPROGRESS che blocca l'operazione di Windows Sockets è in corso.

  • IlWSAENOTCONN socket non è connessoSOCK_STREAM (solo).

  • WSAENOTSOCK il descrittore non è un socket.

Note

ShutDown viene utilizzato in tutti i tipi di socket per disabilitare la ricezione, la trasmissione, entrambi.Se nHow è 0, che riceve su socket verrà disattivato.Ciò non influisce sui livelli di protocollo inferiori.

Per il protocollo TCP (TCP), la finestra TCP non viene modificata e i dati in ingresso verranno accettati (ma non riconosciuto) finché non esaurire la finestra.Per il User Datagram Protocol (UDP), i datagrams in ingresso sono accettati e in coda.In tale caso un pacchetto di errore di ICMP verrà generata un'eccezione.Se nHow è 1, che invia sono disattivati.Per i socket TCP, viene ALETTA verrà inviata.L'impostazione nHow a 2 disabilita invia e riceve come descritto in precedenza.

Si noti che ShutDown non chiude il socket e le risorse associate a un socket non vengono liberate finché non viene chiamato Chiudi.Un'applicazione non deve basarsi su poter riutilizzare un socket dopo che è stata interrotta.In particolare, l'implementazione di Windows Sockets non è necessario per supportare l'utilizzo Connetti su tale socket.

Esempio

Vedere l'esempio relativo CAsyncSocket::OnReceive.

Requisiti

Header: afxsock.h

Vedere anche

Riferimenti

Classe di CAsyncSocket

Grafico della gerarchia

CAsyncSocket::Connect

CAsyncSocket::Create