Project 1: Centralized File Sharing System
Peer-to-Peer File Sharing System
The goal of this assignment is to design and implement a simple
Napster-like file sharing system.
Here are some high-level design requirements of your system.
You are free to use any programming language (C, C++, Java, etc.) and
any mechanism for communicating between machines (such as TCP, UDP,
RPCs, etc.). We have provided some sample code for establishing a TCP
connection between two nodes and exchanging a pair of strings. Note
that the server forks a new pthread to handle each client. The code
is available on the Zoo machines at /c/cs425/as1code.
Submission Instructions
We are going to use the most primitive form of submission! Just tar
and compress the directory containing all the files and email it to
the instructor (rxli(a)public.wh.hb.cn). To tar and compress the
directory "as1code," use the following command: "tar cf - as1code |
gzip -c > as1code.tar.gz." Then email the tar-ball as an attachment.
Please make sure that the directory does not contain any core files or large
files that were used for testing.
Things to include in your submission:
A readme file describing how to run the system
Source code (with comments where needed)
An updated version of the design document that reflects the
current design