Java version of my CS356(Intro to Computer Networks) semester project.