os pongo el codigo para que veais un poco a lo que me refiero:
Código:
entiendo que esto se solucionaría con varios hilos de ejecución lo que llamamos thread pero no se nada de la sintaxis en c en windowswhile(1)
{
for(i=0;i<conex;i++)
{
datos[i]=RecivirDatos(comunicacion,len,Buffer, i);
if (datos[i]>0) //si seguimos conectados
{
Buffer[datos[i]]=0; //le ponemos el final de cadena
printf("%s(%d):%s",inet_ntoa(local.sin_addr),i,Buffer); //imprimimos la cadena recibida
}
else
{
printf("Cliente Numero %d Desconectado\n",i);
// printf("I %d, conex %d\n",i,conex);
/*while(i<conex)
{
comunicacion[i]=comunicacion[i+1];
i++;
}
conex--; */
}
AceptarConexiones(&len,&sock,local,comunicacion,i+1,&conex);
}
}
//Funciones
void AceptarConexiones(int *len,SOCKET *sock,struct sockaddr_in local,SOCKET *comunicacion,int i,int *conex)
{
int len2;
*len=sizeof(struct sockaddr);
len2=*len;
comunicacion[i]=accept(*sock,(sockaddr*)&local,&len2);
*len=len2;
if(comunicacion[i]==INVALID_SOCKET)
printf("No puedo aceptar\n");
else
(*conex)++;
}
Espero que me puedan ayudar o iluminarme con un solución mas fácil
Un cordial saludo a todos


