CSC145/290: Distributed and Network Programming, Fall 2001
Dr. Chuck C. Liang
Email: email@example.com (<- click to send me mail)
Official Office Hours: MWF 2-3pm, TuTh 10:30-11:30am, or by appointment
code similar to those used in class on 9/6/01, plus
some additional examples.
file copy program from 9/6/01 class using FILE *'s
ssep13.c some code from 9/13/01. pointers heaven, pointers hell. These examples are hard, but if you make an effort to really understand them, you probably won't have any more trouble with pointers.
simple tcp client example from 9/25 class. PLEASE read important new comments and corrections!
simple server example from 10/2 class (serves an integer in network byte ordering). accompanying client.
First example with fork
Example with select, fd_sets and timevals. This program compiles but is not designed to run.
proc0.c and proc1.c. Two communicating processes illustrating fork, execl, and pipes. (from 10/11 class).
First program with pthreads. (from 10/23 class)
server that uses threads to handle concurrent clients. (this was the server side of assignment 2).
mthreads.c multithread program with a mutex (adding up an array with 2 threads)
First UDP example from 11/13 class
Simple DNS Client from 11/15 class.
Sample multicast group server
Assignment 1. Due 9/20. sample solution
For part 3 (file encryption) of the assignment, here is my sample solution in encrypted form. The encrpytion key used is the assignment document itself. Your job is to decript it using your program so you can compare it with mine. (My solution uses "file descriptors" instead of FILE streams - I will talk about that later).
Programming assignment 2. Due Tuesday 10/2/2001.
Programming assignment 3. Due Thursday 10/11/2001. Additional hints and comments
Programming assignment 4. Due 10/25/2001. NOTE: there's now an additional requirement (closing handshake).
Assignment 5. Due 10/30/2001. NOTE the last part, concerning SO_LINGER, is now an optional part of the assignment.
Assignment 6. Due 11/8.
Threaded Client/Server Lab NOTE: new procedure for allocating memory for stack. (reload assignment). Please NOTE that the due date for this assignment has been suspended.
DNS Assignment. NOTE: See NEW INSTRUCTIONS for part 3 (inverse queries) inside
Final Project. (reload for updates) (last updated 12/13).
xor program needed to decode message to be passed around our ring. Type "./a.out 5" and following instructions.
I have to give an exam thursday evening and may not finish until 8:30. We'll therefore commence at 8:30 for the final demonstration. Your programs must be ready for submission and final demonstration at that time.
The following command: "limit coredumpsize 0" will stop the system from creating the large "core" file in your directories when your programs crash. Put it in your ~/.cshrc file to make it permanent.