Salve ragazzi! Mi sto cimentando con il secondo esonero di laboratorio, e volevo implementare l'uso della alarm() sul client. Il problema è che non sono riuscito a trovare niente oltre il prototipo e qualche esempio che non fa al nostro caso. Ciò che non ho capito è: come faccio con tale funzione a dire di attendere un certo numero di secondi prima di fare qualcosa? e sopratutto come faccio a dire che se nel frattempo arriva qualcosa il segnale di temporizzazione deve cessare?
Ps: spero di aver almeno inquadrato come si usa la alarm e di non fare quindi brutte figure! :D
E' impossibile sapere tutto. E' però possibile sapere sempre dove poter recuperare ogni genere di informazione.
Inoltre, mi è capitato un'altro problema. Se faccio la recv_from nel server è tutto ok, tant'è che il server rimanda ciò che ha ricevuto, il problema è che nella recv_from che faccio nel client il processo non attende nulla e passa avanti senza attendere risposta. Qualcuno ha avuto lo stesso problema?
Ps: ho fatto qualche ricerca e ho letto che potrebbe essere riferito al fatto che la socket sia non bloccante...qualcuno ha idea di come farla diventare bloccante? :D
E' impossibile sapere tutto. E' però possibile sapere sempre dove poter recuperare ogni genere di informazione.
se avvio il client senza che il server sia in esecuzione è utile avere recvfrom non bloccante. il client invia tutti i pacchetti (che andranno persi) e termina dicendo 0 pacchetti ricevuti.