EECS 3214 : Programming Assignment 2

Submit this assignment using the submit command (see the instructions below). The deadline is March 21, 10 am.

Simple peer-to-peer application programming

Objective:

The objective of this lab is to build a very simple distributed messaging system. The previous assignment built a directory server to allow clients to log on to a server and view other people logged on to the same server.

The application you will write for this assignment implements interaction between hosts (peers).

For this assignment, you should write an application that does the following.

Compiling the server and client programs (C language only)
  1. Compile the programs with gcc instead of cc.
  2. For the server program, you need the -lsocket flag
  3. For the client program, you need the flags -lsocket -lnsl
Instructions for submitting assignment 1 Submit the programs using the following command:
  1. The programs you submit should work and be documented.
  2. Your assignment should include a separate (typed) document containing the results (You can hand this in the class). This document should contains details of
    1. the overall program design, a textual description of "how it works", and design decisions made.
    2. possible improvements and extensions to your program that you would do if you had more time.
    3. situations (if any) when your program may not work correctly.
    4. how the grader can compile and run your program.
Demonstration The TA may ask you to demonstrate to her that your program works on the departmental Linux machines. You will run the server, and 4 clients and show that the program implements the specifications described above.

Grading

Program works correctly : 40%
quality of code and in-line documentation : 25%
report : 35%

NOTE: Late submissions get no credit.

Copying, teamwork

Modifying the skeleton programs for client server programs is permitted. Otherwise, copying of programs (also written homeworks and exams) or teamwork on an assignment (written or programming) is not permitted.  No form of copying is tolerated in this (or any) course, in accordance with departmental policy.