A client-server application that anonymizes user-specified words from a text file and two reliable data transport protocols.
From the Assignment Page our Teacher gave us:
The goal of this project is to practice your Application and Transport Layer skills by implementing (i) the anonymizer, a client-server application that anonymizes user-specified words from a text file and (ii) two reliable data transport protocols. The project will be completed in two phases. In the first phase, all students will implement two versions of the program: one that uses stock TCP1 for reliable data transfer; and one that implements stopand-wait reliability at the application layer and uses UDP for transport. In the second phase, graduate students will be asked to evaluate and compare the stock TCP and the stop-and-wait implementations using Wireshark. Undergraduate students can attempt the second phase of the assignment for extra credit.
There are a number of objectives to this assignment. The first is to make sure you have some experience developing a network-based socket application. Second, because you are allowed to use any references you find on the Internet (including copies of existing code!), this assignment will help you see just how many network programming aids are available. Third, you will get a first-hand experience in comparative evaluation of protocol performance. Finally, having just a bit of practical experience will put a lot of the protocol concepts we learn into perspective.