Modify the provided IP/TCP server code to provide a service like HTTP. The purpose of this…
Modify the provided IP/TCP server code to provide a service like HTTP. The purpose of this service is to provided a mechanism to move ?les over a data stream service. Document each step in your implementation. The server should; • Use a port number provided by an argument to getopt(), check it is between 40000-59999 • Create a socket on the provided port number • Listen on the socket • Wait to accept incoming ?le requests • Open the local ?le, obtain the ?le size from stat() • Respond by sending back the valid ?le name, and the ?le size or • If ?le does not exist, print status of “Failed”, close connection (see example below), skip to Sleep • Wait for the client to respond with the valid ?le size • Respond by sending the ?le contents to the client • Wait for the client to respond with “OK” or “Failed” • Print status (see example below) • Close the connection to the client • Sleep for one second • Start the process again This program should be run on the command line and listen on the localhost IP or the IP of the available network interface. The server should print out the details of the IP and port number when it starts. Example; $ tcpserver -p 45678 Listening on IP: 127.0.0.1 and port: 45678 Connection: “1”, ?le: “test1.txt”, size: “31337”, status: “OK” Connection: “2”, ?le: “test2.txt”, size: “0”, status: “Failed”
Any citation style (APA, MLA, Chicago/Turabian, Harvard)
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.