#include #include #include #include #include #include #include #define N_DESCRIPTORES 5 /* El estado del servidor */ int descriptores[N_DESCRIPTORES]; int numclientes; void aceptar_nuevo_cliente(int sock); int main (int argc, char * argv[]) { int sock; int puerto; struct sockaddr_in servidor; char buf[20000]; int i; /* Inicializar el estado del servidor */ numclientes=0; for (i=0;idescriptores[i]?fd_maximo:descriptores[i]; /* Y actualizamos el maximo */ } fd_maximo++; /* sumamos uno porque select solo mira de 0 a fd_maximo-1 */ if (select(fd_maximo,¶leer,NULL,NULL,NULL)>0) { /* Hay algo que leer en alguno */ if (FD_ISSET(sock,¶leer)) { /* Conexion para aceptar */ aceptar_nuevo_cliente(sock); } for (i=0;i