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

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 <double> <operator> <double>, where <double> is a string that can be parsed to a Java Double data type, and <operator> 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. 

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

The following program draws an BB-8 as shown below.  Modify the program to move the BB-8 left or right using the arrow keys.  The program can be download

The following program draws an BB-8 as shown below.  Modify the program to move the BB-8 left or right using the arrow keys.  The program can be download from the CMS. Please use Javafx  import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.input.KeyCode; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.shape.Line; import javafx.stage.Stage;