Voila, j'ai un tp a rendre, je dois faire sous linux (terminale) un
bibliothéque en ligne. Je m'explique, un serveur posséde des files et
lorsque le client ce connecte, il doit lui proposer les files (pour
cela le serveur fait un recheche dans sont répertoire d'execution). Le
client recupére alors les fichiers qu'il veux.
J'arrive a faire dialoguer le serveur et les clients. Mais je c pas
comment faire pour faire la biblio, pouvez vous m'aidez....merci
Tu doit gerer une fil d'attente pour gerer un nombre maximum de connecté simultanement ?
->
struct struct_client
{
int numero;
struct sockaddr_in client_csin;
char ip[12];
int sock;
};
struct struct_client *s_client[MAX_CLIENT];
int prochain_client=0;
int main(int argc, char *argv[]) {
// ...
while(1)
{
if(prochain_client==(MAX_CLIENT+1))
{
printf("Nombre de clients maximal atteint, recherche des places libres\n");
for(i=0;i<=MAX_CLIENT;i++)
{
if(s_client[i]==NULL)
{
printf("La place %d est libre\n",i);
prochain_client=i;
break;
}
}
}
else
{
// ont accepte la connexion..
// si bon:
s_client[prochain_client]->numero = prochain_client;
// ici tu lance ce que tu desire
prochain_client++;
}
}
}