Programming Assignment 4 for the CS 640 - Introduction to Computer Networks