Compartir a través de


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

Vea también

Referencia

CAsyncSocket Class

Gráfico de jerarquías

CAsyncSocket::Connect

CAsyncSocket::Create