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

This week, you will submit the second project, the Desktop Migration Proposal. Using the requirements analysis your manager provided and the Internet

This week, you will submit the second project, the Desktop Migration Proposal. Using the requirements analysis your manager provided and the Internet research you conducted, submit your recommendation to the assignment folder. As you are writing your recommendation, ensure your analysis and recommendations align with your manager’s priorities and concerns.

Comparing and contrasting space and time complexity in algorithm analysisWhen performing an algorithm analysis, **time complexity** and **space

Comparing and contrasting space and time complexity in algorithm analysisWhen performing an algorithm analysis, **time complexity** and **space complexity** are two of the most significant variables to consider. Although they both gauge an algorithm’s efficiency, they focus on distinct areas of performance.**Time complexity** is the relationship between an algorithm’s execution

Career Focus (Required/Graded) SubscribeThe CompTIA A+ certification demonstrates to employers that you have the knowledge, ability, and skills in

Career Focus (Required/Graded) SubscribeThe CompTIA A+ certification demonstrates to employers that you have the knowledge, ability, and skills in entry-level PC technology. Many industry insiders started with the CompTIA A+, and that led them to higher-paying, more complex jobs in both IT and cybersecurity. Many large corporations such as Apple, Cisco,

CompTIA’s T/S Methodology (Required/Graded) SubscribeFor this discussion, you will be assessing the following help desk ticket below from Chikako

CompTIA’s T/S Methodology (Required/Graded) SubscribeFor this discussion, you will be assessing the following help desk ticket below from Chikako (connectivity issue). Use the CompTIA 6-step troubleshooting process below to help figure out the connectivity issue. CompTIA 6-Step Troubleshooting Process: Identify the problem. Establish a theory of probable cause. Evaluate the theory

Accounting: Business and finance: computerscience: Economics: Marketing: Social Science Am a professional academic writer, content creator and, copywriter

Accounting: Business and finance: computerscience: Economics: Marketing: Social Science Am a professional academic writer, content creator and, copywriter with 7 years of research based experience.  My accounting: Business and finance: computerscience: Economics: Marketing: Social Science Am a professional academic writer, content creator and, copywriter with 7 years of research based

Explain why we cannot corrupt the output buffer of Buffovrflw_Demo4 through we can trigger a segmentation fault We cannot corrupt the output buffer of

Explain why we cannot corrupt the output buffer of Buffovrflw_Demo4 through we can trigger a segmentation fault We cannot corrupt the output buffer of `Buffovrflw_Demo4` because the program is likely designed with protections such as stack canaries, non-executable stack, or address space layout randomization (ASLR). These mechanisms prevent direct buffer