Chat with us, powered by LiveChat You will implement a reliable FTP client-server system. Provide a simple menu to the user, e.g. 1. GET 2. PUT 3. CD 4. QUIT Your code must be robust and handle any incorrect user input. | Wridemy

You will implement a reliable FTP client-server system. Provide a simple menu to the user, e.g. 1. GET 2. PUT 3. CD 4. QUIT Your code must be robust and handle any incorrect user input.

You will implement a reliable FTP client-server system.

Provide a simple menu to the user, e.g.
1. GET
2. PUT
3. CD
4. QUIT
Your code must be robust and handle any incorrect user input. Since there
can be
multiple clients querying the server at the same time with each client
being serviced by a
different thread on the server, the server must ensure concurrency
control on the data file
while it is being updated. Thus, only one thread must gain access to the
data file during
writes (hint: use synchronized keyword for the write method in your
code).
Be sure to terminate each thread cleanly after each client request has
been serviced.
Implement the project as described using Java Datagrams (UDP). This will
be a
connectionless client-server system since UDP is connectionless. However,
you will need
to provide reliability in your client-side application code since UDP
does not guarantee
delivery. You may use the CRC32 checksum class available in the
java.util.zip package
in the JDK for this purpose. 

You will implement a reliable FTP client-server system. Provide a simple menu to the user, e.g. 1. GET 2. PUT 3. CD 4. QUIT Your code must be robust and handle any incorrect user input. Since there can be multiple clients querying the server at the same time with each client being serviced by a different thread on the server, the server must ensure concurrency control on the data file while it is being updated. Thus, only one thread must gain access to the data file during writes (hint: use synchronized keyword for the write method in your code). Be sure to terminate each thread cleanly after each client request has been serviced. Implement the project as described using Java Datagrams (UDP). This will be a connectionless client-server system since UDP is connectionless. However, you will need to provide reliability in your client-side application code since UDP does not guarantee delivery. You may use the CRC32 checksum class available in the java.util.zip package in the JDK for this purpose. Refer to: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/zip/CRC32.html for a description of this API. Sample code is at: https://codingexplained.com/coding/java/generate-crc32-checksum-in-java In each project, be sure to measure the mean response time for the server to service the client request. To graph this, have your client make requests in the order of the following data/file sizes: 1 MB, 25 MB, 50 MB, 100 MB. First do this for the PUT command and then do this for the GET command. Determine the response time in each case, then plot the response time vs. offered load (file size) graph. Next, plot the throughout versus offered load graph using the data from the GET graph/command. Throughput in this case is bytes delivered per second (bytes/second). Plot the bytes/second on the y-axis and offered load on the x-axis. So, at the end of each project, you will have 3 graphs: one graph for the response time for the GET command, one graph for the response time for the PUT command, and the throughput graph for the GET command. Your code must be well documented with adequate comments, suitable use of variable names, and follow good programming practices.

Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

Do you need an answer to this or any other questions?

About Wridemy

We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.

How It Works

To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

Are there Discounts?

All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.

Hire a tutor today CLICK HERE to make your first order

Related Tags

Academic APA Writing College Course Discussion Management English Finance General Graduate History Information Justify Literature MLA