Ancora io...giuro che è l'ultima cosa, promesso!!
Allora, ho due questioni da dover risolvere.
Ho il mio server udp (gia realizzato grazie al vostro aiuto) che ora ogni tanto si dovrebbe risvegliare e fare un ciclo di read (per esempio 10s), calcolare un certo valore (un mio algoritmo per tesi di laurea), e rispondere poi il risultato di tale algoritmo a tutti i client alla fine e a tutti insieme.
Ora, logicamente ogni client invia la propria richiesta, anche quando il server non è "sveglio". Una volta effettuato questo ciclo di read, il server calcola tramite un algoritmo dei valori da assegnare ai vari client connessi (per cosi' dire). Quindi prima mi servono le richieste dei vari client, con le quali calcolare ciò che mi serve, e quindi rispedire ad ognuno il "proprio valore" alla richiesta fatta.
Ora i problemi che sto cercando di risolvere sono essenzialmente 2:
1) Avendo piu client, ad ognuno dovro' rispondere con un risultato dell'algoritmo diverso, quindi niente fork(). Come posso fare a salvare gli indirizzi dei client durante il ciclo di read e poi rispondere contemporaneamente a tutti alla fine ? Per capirci, lette le richieste, effettuato il calcolo, come faccio a rispondere al client A con la risposta A, al client B con la B, ecc...?
2)come posso fare per dire al server "svegliati" ogni tot secondi? O meglio, come utilizzate gettimeofday per far cio' ed impostargli i vari cicli di read (o recevfrom)?

P.S. Lavoro ovviamente con Linux


Ogni suggerimento o esempio è molto apprezzato (non sono un informatico, quindi potete capire che ogni aiuto vale oro per me)!!!
Grazie in anticipo.