[SOLVED] CS3700 Homework1-a client and a server programs

35.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon HW2-ygl06j.zip (140.9 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
🔒 Securely Powered by:
Secure Checkout
5/5 - (1 vote)

Part I: Write a client program and a server program to implement the following protocol on top of UDP.

  • Client Program:
    1. Display a message to ask the User to input the DNS or IP of the machine on which the Server Program runs.
    2. Display the following table on the standard output:

Item ID                  Item Description

00001                     New Inspiron 15

00002                     New Inspiron 17

00003                     New Inspiron 15R

00004                     New Inspiron 15z Ultrabook

00005                     XPS 14 Ultrabook

00006                     New XPS 12 UltrabookXPS

  1. Display a message on the standard output to ask the User to input an Item ID, and validate the user input. If the input is not a valid Item ID, ask the User to re-type it.
  2. Once getting a valid item ID from the User, send a request including this Item ID (e.g., 00005 or “00005”) to the Server program to ask for a quote, and record the local time right before sending such request.
  3. Receive and interpret the response from the Server program, get the local time right after such response is received, and display the following information on the standard output, (e.g., if 00005 were provided by the User earlier on)

Item ID                  Item Description                  Unit Price              Inventory               RTT of Query

00005                     XPS 14 Ultrabook               $999.99                 261                         … ms where “RTT of Query” is the difference between the time in Steps 5 and 4 in millisecond.

  1. Display a message on the standard output to ask the User whether to continue. If yes, repeat steps 2 through 5. Otherwise, close the socket and terminate the Client program.
  • Server Program:
    1. Maintain the following information using an appropriate data structure of your choice (i.e., an array of a Class you defined).

You do not have to place it in a file although you certainly can if you like.

Item ID                 Item Description                                Unit Price            Inventory

00001                     New Inspiron 15                                  $379.99                 157

00002                     New Inspiron 17                                  $449.99                 128

00003                     New Inspiron 15R                               $549.99                 202

00004                     New Inspiron 15z Ultrabook             $749.99                 315

00005                     XPS 14 Ultrabook                               $999.99                 261

00006                     New XPS 12 UltrabookXPS             $1199.99               178

  1. Wait for receiving a packet from a Client.
  2. Once a packet is received from a Client, retrieve the information relevant to the requested Item ID from the data structure you used in Step 1 and send back such information to the Client.
  3. Repeat Steps 2 and 3 infinitely until an exception is caught.
  4. Close the datagram socket.

Part II : Test your programs on the Virtual Servers in the cloud and your laptop/home computer.

Warning: to complete this part, especially when you work at home, you must first (1) connect to GlobalProtect using your NetID account (please read “how to connect to GlobalProtect …” at https://msudenver.edu/vpn/); then (2) connect to the virtual servers cs3700a and cs3700b using sftp and ssh command on MAC/Linux or PUTTY and PSFTP on Windows.

ITS only supports GlobalProtect on MAC and Windows machines.  If your home computer has a different OS, it is your responsibility to figure out how to connect to cs3700a and cs3700b for programming assignments and submit your work by the cutoff deadline.  Such
issues cannot be used as an excuse to request any extension.  

 

  1. MAKE a directory “HW02” under your home directory on cs3700a.msdenver.edu and cs3700b.msudenver.edu, a subdirectory “server” under “HW02” on msudenver.edu, and a subdirectory “client” under “HW02” on cs3700b.msudenver.edu.
  2. UPLOAD and COMPILE the server program under “HW02/server” and the client program under “HW02/client” on the VMs.
  3. TEST the server program running on cs3700a.msudenver.edu together with a client program running on your laptop or lab computer and another client program, simultaneously, running on cs3700b.msudenver.edu to test all the possible cases.
  4. SAVE a file named txt under “HW02/client” on cs3700b.msudenver.edu, which captures the outputs of your client program when you test it. You can use the following command to redirect the standard output (stdout) and the standard error

(stderr) to a file on UNIX, Linux, or Mac, and view the contents of the file

java prog_name_args | tee testResultsClient.txt //copy stdout to the .txt file cat file-name     //display the file’s contents. 

  • HW2-ygl06j.zip