Please Reload To Get Latest Version.

CSC145/290: Distributed and Network Programming, Fall 2001

Dr. Chuck C. Liang
Assistant Professor of Computer Science, Hofstra University .

Office Address:
201A Adams Hall
Hofstra University
Hempstead, NY 11550
Office Phone: (516 463) 5559

Email: (<- click to send me mail)

Official Office Hours: MWF 2-3pm, TuTh 10:30-11:30am, or by appointment

Course Syllabus

Online Resources:

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!
readTimeout function.
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.
sample solution
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.