Compartir a través de


CAsyncSocket::Listen

Llame a esta función miembro para realizar escuchas para las solicitudes de conexión entrante.

BOOL Listen( 
   int nConnectionBacklog = 5  
);

Parámetros

  • nConnectionBacklog
    La longitud máxima a la que la cola de conexiones pendientes puede crecer. El intervalo válido es de 1 a 5.

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.

  • WSAEADDRINUSE un intento se ha creado para realizar escuchas en una dirección en uso.

  • La operación de Windows Sockets de bloqueo deWSAEINPROGRESS A está en curso.

  • El socket deWSAEINVAL no se ha enlazado con Enlazar ni ya está conectado.

  • El socket deWSAEISCONN The ya está conectado.

  • Los descriptores de archivo deWSAEMFILE No Más están disponibles.

  • WSAENOBUFS ningún espacio en búfer está disponible.

  • WSAENOTSOCK El descriptor no es un socket.

  • El socket hace referencia speedWSAEOPNOTSUPP no es de un tipo que admita la operación de Listen .

Comentarios

Para aceptar conexiones, el socket se crea por primera vez con Crear, un trabajo pendiente para las conexiones entrantes se especifica con Listen, y a continuación las conexiones se aceptan con acepte. Listen sólo se aplica a sockets que las conexiones compatible con, es decir, las de SOCK_STREAMescrito. Este socket se coloca en modo “pasivo” donde las conexiones entrantes están confirmadas y en cola pendientes aceptación por el proceso.

Esta función se utiliza normalmente por los servidores (o cualquier aplicación que desee aceptar las conexiones) que podrían tener más de una solicitud de conexión al mismo tiempo: si una solicitud de conexión protege con la cola completa, el cliente recibirá un error con una indicación de WSAECONNREFUSED.

Listen intenta seguir trabajando racional cuando no hay puertos disponibles (descriptores). Aceptará conexiones hasta que se vacíe la cola. Si los puertos están disponibles, una llamada posterior a Listen o acepte rellenará la cola a la actual o el “trabajo pendiente reciente,” si es posible, y resume next que realiza escuchas para las conexiones entrantes.

Requisitos

encabezado: afxsock.h

Vea también

Referencia

CAsyncSocket Class

Gráfico de jerarquías

CAsyncSocket::Accept

CAsyncSocket::Connect

CAsyncSocket::Create