Write a file upload program. To demonstrate, you'll need a client
and a server program, doing the obvious.
- The server awaits connections.
- A client connects, sends the name of a file it wants to upload.
- The client sends the file and the server stores it.
Wherever applicable, use the commands and protocol for TFTP
(IETF RFC 1350),
with the following modifications:
Create a web page showing throughput across varying conditions
(V4 vs V6; sequential vs windowed acks; drops vs no drops)
- A client only sends files, never receives.
- Support only binary (octet) transmission.
- Support a command line argument specifiying
whether packets are IPv4 vs IPv6 UDP datagrams
- Support a command line argument specifying
to use TCP-style sliding windows rather than the sequential
acks used in TFTP. To implement this, you may need to design and use
additional packet header information than that in TFTP.
- Support a command line argument controlling whether
to pretend to drop 1 percent of the packets;