Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Help Please! Programming Language C++ Assignment include comments ActClient Program Chat Client Program copy necessary code from chat program into ActClient program Requirements For this
Help Please!
Programming Language C++
Assignment
include comments
ActClient Program
Chat Client Program
copy necessary code from chat program into ActClient program
Requirements For this assignment, you will be writing two programs which are designed to talk to each other. One of your programs will be the activation server and the other will be the activation client. Here is the synopsis of how the two programs interact: Server: As the server starts up, it looks to see if the data file (the file of serial nums/machine IDs) exists. If the file does not exist, it will create an empty one. The name of this file is datafile.txt The server binds to a port and awaits connections. Client: The client will look for an activation file. The name of this file is actFile.txt o If the file cannot be found, proceed to attempt activation. o If the file is found, compare the machine ID in the file with the given machine ID to see if they match. If they do not match, proceed to attempt activation. If they do match, the software has already been activated and the program exits. To continue with the activation process, the client now gets a serial number from the user. The client contacts the server. Server: Server accepts the incoming connection Waits for data to be sent. Client: Send the serial number to the server Wait for a reply from the server Server: Receive the serial number . Check to make sure the serial number is valid for the nurnoses of this assignment a valid serial number is any combination of Check to make sure the serial number is valid. For the purposes of this assignment, a valid serial number is any combination of digits. A string containing characters other than digits would be considered to be an invalid serial number. If the serial number is valid o Send a "good" message back to the client . Wait for the next message If the serial number is invalid Send an "invalid" message back to the client o Close the current connection and wait for a new connection from a new client Client: Receive server reply If the reply is "good" o Send the machine ID to the server o Wait for a reply from the server If the reply is "invalid" o Report to the user that the serial number is invalid o Exit the program erver: Receive the machine ID from client - Try to find serial number in the data file If serial number is found o Compare the given machine ID with the one recorded in the data file o If the machine IDs match Send a "good" message back to the client Close the current connection and wait for a new connection from a new client o If the machine IDs do not match Send an "invalid" message back to the client Close the current connection and wait for a new connection from a new client If serial number is not found o Write the serial number and machine ID into the data file o Send a "good" message back to the client o Close the current connection and wait for a new connection from a new client Client: Receive server reply If reply is "good" o Record the machine ID in the activation file o Report to the user that the activation was successful Exit the program If reply is "invalid" o Report to the user that the activation was unsuccessful o Exit the program Note that in the above sequence of communication steps, once the server has either accepted or rejected the activation, it closes the connection and then goes back to waiting for a new connection. Also note, although it isn't specifically listed in the steps above, our server will also display results to the screen to show what's happening. #include
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