imothepe20012002
Messages postés1Date d'inscriptionmardi 29 novembre 2005StatutMembreDernière intervention30 novembre 2005
-
30 nov. 2005 à 13:36
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 2008
-
30 nov. 2005 à 14:29
Salut a tous !
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
juki_webmaster
Messages postés947Date d'inscriptionmercredi 19 novembre 2003StatutMembreDernière intervention 5 avril 20083 30 nov. 2005 à 14:29
Salut,
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++;
}
}
}