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