Communication Course - Ex3 Description

 

Exercise 2: Building Reliable File Transfer – Part 2

In this C/Java exercise you will implement reliable file transfer between a client and a server (from the client to the server) using UDP.

Introduction:

This exercise is based on ex. 2 – part 1. You are welcome to use your code and change only the relevant parts.

Please follow the course forum, since updates to the exercise will be sent there.

Synopsis:

For running the server:

    sruftp server-port 

For running the client:

               cruftp server-port  server-hostname filename-to-transfer

server-port:                 is the port used by the server
server-hostname:        is the host name of the server
filename-to-transfer:   is the name of the file to transfer from the client to the server, it must reside in the same directory as the client was executed from.
    It will be copied to the same directory as the server was executed from with the same name as it had on the client. If such a file already exists on the server then it should be overwritten.

Basic requirements of the server design:

Basic requirements of the client design:

Testing Your Program:

Error Handling:

Useful system calls:

socket, bind, connect, listen, accept, send, recv, select, close, inet_addr, htons, ntohs, gethostbyname, sendto, recvfrom, sigignore, shutdown, gdb

General Tips:

What to submit