CAsyncSocket::ShutDown
Llame a esta función miembro para deshabilitar envía, recibe, o ambos en el socket.
BOOL ShutDown(
int nHow = sends
);
Parámetros
nHow
Un marcador que describe se permitirá a qué tipos de operación no más, utilizando los valores enumerados siguientes:recibe = 0
envía = 1
ambos = 2
Valor devuelto
Distinto de cero si la función es correcta; si no 0, y un código de error específico puede recuperar llamando a GetLastError. Los errores siguientes se aplican a esta función miembro:
WSANOTINITIALISED A AfxSocketInit correcto debe aparecer antes de utilizar esta API.
La implementación de Windows Sockets deWSAENETDOWN The detectó que produjo el subsistema de la red.
WSAEINVAL El valor de nHow no es válido.
La operación de Windows Sockets de bloqueo deWSAEINPROGRESS A está en curso.
El socket deWSAENOTCONN no está conectado (SOCK_STREAM solo).
WSAENOTSOCK El descriptor no es un socket.
Comentarios
ShutDown se utiliza en todos los tipos de sockets para deshabilitar la recepción, la transmisión, o ambas. si nHow es 0, subsiguiente recibe en el socket será denegado. Esto no tiene ningún efecto en los niveles de protocolo más baja.
Para el Protocolo de (TCP) control de transmisión, la ventana TCP no se cambia y los datos entrantes se aceptarán (pero no confirmado) hasta que se agote la ventana. Para el Protocolo de datagramas (UDP) de usuario, se aceptan y se ponen en la cola los datagramas de entrada. De modo sin un paquete de error de ICMP se generará. Si nHow es 1, subsiguiente envía denegados. Para los sockets TCP, un FIN se enviará. El valor nHow a 2 deshabilita envía y recibe como se ha descrito anteriormente.
Observe que no cierre ShutDown el socket, y no liberarán los recursos asociados al socket hasta que se llame a Cerrar . Una aplicación no debe depender de reutilizar un socket una vez cerrado. En concreto, una implementación de Windows Sockets no es necesario para admitir el uso de Conectar en un socket.
Ejemplo
Vea el ejemplo para CAsyncSocket:: OnReceive.
Requisitos
encabezado: afxsock.h