For incoming streams, Node provides
resume methods, but not so for outbound streams. Essentially, this means we can easily throttle upload speeds in Node but download throttling requires a more creative solution.
We'll need a new
server.js along with a good-sized file to serve. With the
dd command-line program, we can generate a file for testing purposes.
dd if=/dev/zero of=50meg count=50 bs=1048576
This will create a 50 MB file named
50meg which we'll be serving.
For a similar Windows tool that can be used to generate a large file, check out http://www.bertel.de/software/rdfc/index-en.html.
To keep things as simple as possible our download server will serve just one file, ...