#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