Program Names: MultiThreadClient
MultiThreadServer (with an inner class named HandleClient)
Concepts covered in this project include graphics programming, client
server technology, and multithreading.
Design and code a server program and a client program – both with its
graphical user interface.
The client will send the rational equation to the server
The server will calculate the rational equation and send the result to the client.
The client will display the result in its window.
The server will handle multiple clients at the same time. The server uses
threads to handle the multiple clients simultaneously. The server will display
the client number, host name, and its IP address for each request from the
Documentation Tools: Use an UML class diagram, Javadocs and Pseudo code (or IPO chart). Also include documentation inside your program (you will lose points if your program is not well-documented).
Note: You must run the server first and then the client.
Some Possible Error Messages:
Java.net.SocketException. Connection reset
See the attached Coding Styles for your program.
Sample of program run
AfterStarting the program
Hand In and Grading Criteria:
For grading submit the following items in a large envelope. Everything must be typed – no handwritten external documentation will be accepted.
· A cover sheet with your name, project number, and section
· Your program design – UML, Javadocs, and pseudocode or IPO chart (hard copies)
· A hard copy of the source files
· A hard Copy of the test cases stapled together with your name marked on top
· A hard copy of the program output
The following criteria will be used to grade your work.
· Program correctness – program runs successfully and as expected
· Adherence to specifications – appropriate control structures, modular design, etc
· Documentation – internal and external, meaningful variable names, etc
· Neatness / Organization – indentation, block formatting, etc
See the evaluation sheet attached to these specifications.
· You will be required to show the instructor that the programs are working.