CE150 Course Project

Spring 2003

 

FTP Server/Client

The aim of this project is to get more understanding of client/server programming in C. In this project, you will be implementing a simple TCP based FTP server and client program. Your implementation must be in C using the BSD sockets. Your server and client program should be designed to run on UNIX machines of CATS. The specifications for the server and client side are as follows:

Server Specifications

Client Specifications

The client should be designed to start by typing the command,

  myftp server_name port_number

Where server_name is the name or ip address of the server and port_number is the port where the FTP server is running. This should be followed by password authentication.

The following commands should be available in the ftp prompt:

All these commands when executed should return a Success/Failure status. All the path names and file names should be considered relative to the current directory (unless absolute path name is given). After a successful file transfer, a success message should be displayed with the number of bytes transferred (Optionally you could display status for ongoing transfers by some means).

Submission Instructions

You will be submitting the following files:

Grading Policy

Your server and client programs will be tested using automated scripts to make sure it works properly. The source code should be commented and readable. We look for the following in your submission:

Full credit will be awarded only if all the requirements are met. If your server/client fails the tests in the automated scripts, partial credits might be given depending on the error.

Notes

Resources


Contact Venkatesh (venkat@soe.ucsc.edu).