C timeout per sendto e recevfrom (o read e write)

di il
2 risposte

C timeout per sendto e recevfrom (o read e write)

Salve a tutti!

Sapreste consigliarmi una tecnica per non restare bloccato in una chiamata a sendto o recevfrom?

Io avevo pensato di parire il socket in questione in modalità non bloccante e di:
  • 1) conservare in una variabile l'istante appena precedente alla chiamata di una di queste funzioni ricavandolo con una chiamata a "time()"
    2) in un ciclo while ripetere la chiamata alla funzione che mi interessa fino a quando o non ritorna qualcosa lei, o una chiamata a "time()" non ritorna un valore pari al valore conservato in precedenza più una certa quantità (tipo qualche decina di secondi...o qualche minuto)
Questa però non so se se sia una tecnica corretta.

Avevo pensato che si potrebbe usare anche una "select()" impostando un timeout...ma, come prima, non so se se sia una tecnica corretta!

Grazie a tutti e buone feste!

2 Risposte

Devi accedere o registrarti per scrivere nel forum
2 risposte