CS564 – Programming Assignment 2 Instructor: Xinghui Zhao Due: 1/29/2019
1 First Attempt to Build a Distributed System – Sockets (20 pts)
In this assignment, you will build a simple distributed system by extending the dictionary ap- plication you developed in Assignment 1. Specifically, you should use sockets to program a dictionary server and a client, which perform exactly the same functions as the application in your Assignment 1. At this point, handling multiple requests simultaneously is not required.
2
Your application should do the following:
• server maintains the data files words.txt and dictionary.txt
• client sends a request which contains a word to server
• upon receiving the request, server performs the same functions as in Assignment 1, i.e., verify the spelling using the words file, and for a valid word, search the dictionary file for the meaning
• server sends the result back to the client (either the description of the word, or simply a message indicating the spelling is wrong)
• server waits for the next request (you may want to design a way to end the application properly)
Note that you can choose either TCP or UDP to program your application.
5 Bonus Points for Extra Challenge
You will receive 5 bonus points if you do the following: 1. use UDP
2. use different programming languages for client and server
3 Submission
Submit your source code, and a text file which contains several test runs (output from both the server side and the client side). This assignment is due at 11:59pm on 1/29/2019.
Assignment 2 Page 1