1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
struct sigaction sig;
sig.sa_handler = actionAlarme;
sig.sa_flags = 0;
sigaction(SIGALRM , &sig,NULL);
//Initialisation des sockets
while(1){
//variable globale init a 0
if(ok == 1){
printf("ok vaut %d \n",ok);
}else{
printf("jok vaut %d \n" , ok);
}
FD_ZERO(&ecoute);// variable de type fd_set
FD_ZERO(&inscription);// variable de type fd_set
tvInsc.tv_usec = 0 ;
tvInsc.tv_sec = 1;
FD_SET(serveur , &inscription);
select(serveur +1 ,&inscription , NULL,NULL,&tvInsc);
if(FD_ISSET(serveur ,&inscription)){
SYS(client = accept(serveur,(SOCKADDR*)&csin,&clilen));
printf("Un nouveau client vient de se connecte.\n");
if(MAXCLIENT== nbrClient){
refuserJoueur(client);
}else{
//C'est dans cette fonction que je lance l'alarm
//une seul fois , lorsque le nombre de client est de 1
accepterJoueur(client);
}
}
if(nbrJClient){
ecouterClient();//Fonction qui ecoute si un client me parle
}
}
//Fin du main
void actionAlarme(int arg){
ok = 1 ;
} |
Partager