PDA

View Full Version : [c] problema server connect temporizzata


lorenzo1889
07-11-2012, 21:10
devo creare un serve che accetta connessioni solo entro 60 secondi da quando è attivo. come posso fare? io ho fatto così ma non funziona perfettamente infatti il server accetta le connessioni (la connect del client non restituisce -1) ma i due terminali non riescono a comunicare. questo è il codice

int des;
int tid;
int timer =0;
int main(){

/* bind ........ ambiente*/

signal(SIGALRM, gestoreTimer);
alarm(60);
while(1){
if(timer==0){
des = accept(ds_sock, (struct sockaddr*)&accept_temp, &length); //accept

result = pthread_create(&(tid), NULL, gestisciClient, des); //il thread verrà creato in uno stato "joinable"
if(result != 0){
printf("\nerrore nella creazione del thread\n");
}
}


int gestioneTimer(){
timer=1;
}




quindi prima dell'accept metto un' if con una variarbile che viene gestita dal gestore del segnale SIGALRM. ma non va come posso fare

lorenzo1889
08-11-2012, 16:36
niente?