of your classes, CalculatorClient and CalculatorServer, should have main(String[] args) methods, allowing them to be

Calculator Server and Client  Java The goal: Make a client that sends simple arithmetic expressions, and a server that solves them and sends the result back to the client. Class design requirements: Your program should contain at least the following classes • CalculatorClient • CalculatorServer Important note: This is an unusual project in that it does not require a Tester class! I will run your two classes myself, calculatorolient and calculatorserver, and test them. Each of your classes, CalculatorClient and CalculatorServer, should have main(String[] args) methods, allowing them to be run! Thus, they will never actually be instantiated; they will just run. Here are the requirements for each class: CalculatorServer: • Makes a ServerSocket that awaits a connection on a port of your choice. • When a connection is made, it sends a one-time welcome message to the connected socket. • Repeatedly awaits data from the connected socket in the form , where is a string th

💡 Buy the answer for only $12 Get it now →

at can be parsed to a Java Double data type, and is a string that is either “+”, “-“, “r, or “*”, representing addition, subtraction, division, or multiplication, respectively. • When data of this form is received, representing an arithmetic calculation to be made, actually does the calculation and sends the result back to the connecting socket. CalculatorClient: • Makes a Socket that connects to some port of your choice on the host “localhost”. This port should match that of the server! • Repeatedly asks the user for input, and sends that input over the socket connection to the server. • When a response is received (which should be the solution to the arithmetic problem), prints that to the console. Note: It’s okay in this case for your server or client to crash if the client sends data in the wrong format (for example, if the client sent the string “5+5” with no spaces, or the string “foo”). You will not be marked down for this occurring.

💡 Buy the answer for only $12 Get it now →