Duplicar posible:
How do you throttle the bandwidth of a socket connection in C?¿Cómo limito la velocidad del socket en C?
Estoy escribiendo un servidor FTP sencillo en C para un entorno Unix. Como característica del servidor, quiero limitar la velocidad de carga/descarga de un usuario.
¿Hay alguna función de biblioteca que resuelva directamente este problema?
Si no, ¿cuál es el algoritmo utilizado en un servidor FTP de producción? Tengo una solución muy ingenua: calcule cuántos bytes enviar en un segundo, digamos
x
,write(x)
oread(x)
, y luegosleep(1)
.
Debería haber una solución mejor. Aún mejor si hay muestras de código.
Para ser claros, estoy usando Mac OS X, pero me gustaría que también se pudiera ejecutar bajo Ubuntu o algún Linux.
* "Como una característica del servidor, deseo de limitar la velocidad de carga/descarga de un usuario" * - Eso suena como una característica impresionante –
¿En qué SO estás? – jman
Esta pregunta podría ayudar - http://stackoverflow.com/questions/235762/how-do-you-throttle-the-bandwidth-of-a-socket-connection-in-c –