There are 3 versions of the Sender and Receiver, each with increasing levels of data reliability and throughput.
Sender and Receiver 1 has completely unreliable data transfer.
Sender and Receiver 2 uses Stop and Wait.
Sender and Receiver 3 uses Go-Back-N.
$ java Receiver3 <Port> <Filename>
Where is the port number used for receiving from the sender and is the name or filepath used to store the file on local disk.
A working example would be:
$ java Receiver3 54321 receivedfile.jpg
$ java Sender3 <IPaddress> <Port> <Filename>
Where is the address at which to send to, is the port number used by the corresponding receiver and is the file or filepath of the file to transfer from local disk.
A working example would be:
$ java Sender3 localhost 54321 filetosend.jpg