Question
1. IP addresses/hostnames and port numbers should not be hard coded. They are provide at runtime through configuration files (e.g. server.conf) present in the same
1. IP addresses/hostnames and port numbers should not be hard coded. They are provide at runtime through configuration files (e.g. server.conf) present in the same working directory.
Your server executable will accept a single runtime argument through a configuration file as follows: ./server server.conf server.conf UDP_PORT=xxxx
Similarly, your client executable will two runtime arguments through a configuration file as follows: ./client client.conf client.conf Extra Credit Note: A configuration file is simply a text file with a .conf extension. last updated: 01/23/23 @ 9:50am 2 M & W 01:30 02:45 p.m. SE 1230 CS447 Spring 2023 SERVER_IP=y.y.y.y SERVER_PORT=xxxx This are considered the default execution behavior for the servers and clients. No deviations allowed.
2. We will test with at least 2+ concurrent client connections, thus, your server should be multi-threaded.
3. Clients should exit gracefully. Server process is permitted to be forcefully killed.
4. Heres a sample (non-comprehensive) interaction. Assume the clients IP address is 192.168.0.11 and running UDP and the servers hostname is calco. Note: The server must recognize client IP and connection type. Client Server HELO calco 200 HELO 192.168.0.11(UDP) LTR CUBM 2 503 Wrong Command Order: Mode not selected HELP 200 VOL 230 VOLUME Mode ready! CUBM LTR 2 250 2000 BYE calco 200 BYE 192.168.0.11(UDP)
5. Your client and server should be able to run on two separate end systems. Bare minimum, you should verify an interaction between a client running one zone server container while the server is running on another.
6. At the end of your implementation, you should be able to:
Compile and run your code in a Linux machine. Include a README file with clear compilation instructions and any non-standard Linux software requirements.
Run your server program first.
Run one or more clients to connect to the server.
Perform calculator functionality while meeting the technical requirements mentioned above.
Exit the client(s) gracefully.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started