Eventuali duplicati:
How do you throttle the bandwidth of a socket connection in C?Come limitare la velocità del socket in C?
Sto scrivendo un semplice server FTP in C per un ambiente Unix. Come funzionalità del server, voglio limitare la velocità di upload/download di un utente.
Esistono funzioni di libreria che risolvono direttamente questo problema?
In caso contrario, qual è l'algoritmo utilizzato in un server FTP di produzione? Ho una soluzione molto ingenua: calcola quanti byte inviare in un secondo, ad esempio
x
,write(x)
oread(x)
e quindisleep(1)
.
Ci dovrebbe essere una soluzione migliore. Ancora meglio se ci sono esempi di codice.
Per essere chiari, sto usando Mac OS X, ma vorrei che potesse funzionare anche con Ubuntu o con Linux.
* "Come caratteristica del server, voglio limitare la velocità di upload/download di un utente" * - Sembra una caratteristica impressionante –
Su quale sistema operativo sei? – jman
Questa domanda potrebbe aiutare - http://stackoverflow.com/questions/235762/how-do-you-throttle-the-bandwidth-of-a-socket-connection-in-c –