CSCI-4220 Network Programming

Spring 1999

 

Project 3 - TFTP Server
Due Date: Feb 25th

Submission Instructions


TFTP Server

This project involves the creation of a TFTP server. Your server should be based on UDP and should support the TFTP protocol as specified in RFC 783 with the following exception:

Your server must be able to handle multiple concurrent clients.

Server Output

Your server should print (to stdout) out the port number it is running on as soon as it starts. Using a fixed port number may make it difficult for us to grade (and for you to debug), so we suggest you allow the operating system to assign you any available UDP port. The initial line printed by your program should include the port number and nothing else (not "Port = 3838\n", just "3838\n"). Your program will be run by an automated system that expects this output.

Your server does not need to provide any additional output, although we encourage you to leave any debugging print statements in place (it may help us figure out what your server is doing).

Servers are forever!

Your server must never die! For this project your code must be capable of running forever. This means you must take care of all possible errors, and that you must make sure your server does not gobble up any system resources for each new client without ever releasing these resources (you should clean up after children, etc).

Deliverables

You should submit all the source code necessary to build your server and a makefile. Submission instructions are here. You must also include a brief writeup in a file named README that includes the following:

Computer Accounts

You must not use RCS! Make sure your code builds and runs on the CS machines.

 

Tips, Hints, Suggestions

All questions should be sent to "netprog@cs.rpi.edu".