Develop a simplified version of a ftp program

Assignment Help JAVA Programming
Reference no: EM131239981 , Length:

This assignment is intended to reinforce the principles of the inter-process communication and the end-to-end argument. It will also make you familiar with Java and its networking API. You have to develop a simplified version of a ftp program (similar to the one described in the end-to-end argument paper) using the stream sockets available in java.net package.

The program will consist of a client and a server. The client will need to register itself with the server for the first time using simple credentials (exact details of these credentials are left to you to decide). These credentials will be used by the server to authenticate the client for any further sessions. After the client is authenticated, the server will accept a request from the client for transferring a file. If the requested file exists then it will be sent across to the client. The contents of the file will be encrypted, using some simple technique, such as the security API provided by Java, before the transmission. If the requested file does not exist then the server will indicate an error message and close the socket connection. Your program should also support a mode in which the client can specify multiple files, as a single transaction, to be transferred. The semantics of the transfer mechanism in such a case is same as that for the single file transfer.

A check should be performed to ensure that the file transfer was successfully completed (i.e., the contents of the original file and its copy on the server are identical). If the transfer was not successful then the transferring task should automatically be retried. After a certain number of retries (a parameter that can be adjusted), a failure message should be displayed if the transfer is still unsuccessful and the socket connection should close.

Your design should consider the principles of the end-to-end argument. You must explicitly indi- cate, in the report, the design decisions that you have taken, in order to achieve the above mentioned functionality, that have been influenced by the end-to-end argument. Also, the consequences of these decisions should be discussed.

Although, the assignment mentions about one client and one server, if you design the server such that it can accept multiple concurrent requests, using the threads of Java, then you will get an extra credit. Your program should handle appropriate exceptions. The program must run on any two machines (server on one machine and client(s) on the other) from the following list:

sl253-rrpc01.cs.iupui.edu - 10.234.140.27
sl253-rrpc02.cs.iupui.edu - 10.234.140.28
sl253-rrpc03.cs.iupui.edu - 10.234.140.29
sl253-rrpc04.cs.iupui.edu - 10.234.140.30
sl253-rrpc05.cs.iupui.edu - 10.234.140.31
sl253-rrpc06.cs.iupui.edu - 10.234.140.32

Please note that your Pegasus/Tesla accounts will work on these set of machines. Please employ good software engineering principles in your design and implementation. Provide adequate documen- tation of your programs. Create a makefile for your program. Submit all the source files (including the readme, sample outputs and make files) by using submitd command on Pegasus/Tesla. Also, hand-in a hard-copy of the report at the beginning of the class on the due date.

Verified Expert

In this assignment, a client server program is implemented in Java program. In this assignment files requested by the client are sent to them by the sever. In this program a key credential is used to authenticate the client with the server. After authentication is performed the java program allow to send as many files as requested by the user. Thus multiple file transfer operation is performed on the single transaction. The program supports to transfer file of any types namely, pdf,docx, .xlsx. The program also displays error message if the file requested by the client is not available in server.

Reference no: EM131239981

Questions Cloud

Create a plaintext message and encrypt it : Trade cipher texts with a partner-but do not disclose which variety of Vigen`ere cipher you used-and decrypt the cipher text you receive. Try to figure out whether your partner used original or standard Vigen`ere. How might you decide?
Development of programming languages : The 1950's was an era that first introduced programming languages, most notably FORTRAN and COBOL.  Who created these programming languages, and what was their intended purpose? Why was the development of programming languages so important to the ..
What type of circuits are commonly used to build internet : What type of circuits are commonly used to build the Internet today? What type of circuits are commonly used to build Internet2?
Do other employees in same department perform the function : Do other employees in the same department perform this function? Did the previous employee in this position perform this function? What are the physical requirements for this function?
Develop a simplified version of a ftp program : CSCI 53700 - Fall 2016 - Develop a simplified version of a ftp program (similar to the one described in the end-to-end argument paper) using the stream sockets available in java.net package.
Create an array of correct letters : Modify the design and program to allow for iteration. Increase the number of guesses to 10 to solve the word. Display the word to the user with each letter as a special character such as ********. Create an array of correct letters guessed such as..
Create plaintext message and encrypt it using a shift cipher : Create a plaintext message and encrypt it using a shift cipher. Copy the ciphertext onto a separate piece of paper and note the amount of the shift you used. Trade ciphertexts with a partner and decrypt the ciphertext you receive.
Write a draft of your short fiction essay : Choose one of the stories from Unit Two that you did not focus on in your initial post during week two. Think about what you believe the theme/point is behind the story. After you have a plan, begin to write a draft of your short fiction essay.
Describe three different algorithms you use in everyday life : Describe three different algorithms you use in everyday life. Write them as lists of instructions in human-readable form. What changes would need to be made for these instructions to be specific enough for a machine to follow?

Reviews

inf1239981

10/22/2016 8:34:39 AM

Please say thanks to your expert as he has made the solution as I expected the code to be simple. i did not want to it make that too complicated that it's hard to understand. Expert has given the Discussion as i required as well I will have a look at it again as well. thanks a lot

inf1239981

10/22/2016 8:26:59 AM

Documentation: Readme/Instructions - after adding all things and document that how to run each of the above cases. Because there will be different instructions on how to execute different scenarios above. Makefile - This is a compilation file in .mak format. Extra credits: Concurrent requests - If you can make a case with concurrent requests and specify the same in code. I have given the instructions on every point. If there is any more information required, Please feel free to contact me. I need to complete this by this weekend so please ask your expert for the same.

inf1239981

10/22/2016 8:26:51 AM

Implementation: Java Stream Sockets - Please write comment in code where ever used. Encryption - Please write comment in code where ever used. Authentication - Please write comment in code where ever used. Multiple Files - Please write comment in code where ever used. Checksum - Please write comment in code where ever used. File Not Exists - You can mention a case where user tries to demand a file that does not exsist. Successful File Transfer - Please write comment in code where ever used. Retry File Transfer Case Success- when user tries to again ask for that file , it is success. Please write comment in code where ever used. Retry File Transfer Case fail - when user tries to again ask for that file , it is fail. Please write comment in code where ever used.

inf1239981

10/22/2016 8:26:05 AM

Please find the attached PDF with rubrics so that expert can modify code according to each requirement asked and please put comment on code where ever the requirement is fulfilled and also where the documentation is required , please create the docs file for the same. I will narrate the things that are in rubrics just in case to be more elaborate.You can also find the rubrics attached. Code Execution : Complilation - I think once the code compliles we are good here. Execution - If code executes , we are fine. Comments - Please write as much comments as he can during the code writing that what code does what. Exceptions - To include the exception in code (Please mention comments in code while implementing the same) Analysis: Presentation - I think we need word doc for this

inf1239981

10/22/2016 8:10:39 AM

As this is my second assignment with your team and I expect to serve you with more assignments. Can I get any discounted price for the same? Can you please discuss with your team and let me know if anything can be done? I will make the payment in couple of hours. Please ask the expert to keep every points in mind while writing code as every functionality needs to be implemented as it will be graded by professor and to provide comments to code etc. Instructions to run the program, as I am new to this . can expet just send me the step by step instructions that how to run the program and all. I have attached a rubrics that my professor shared with me on how he is going to grade us. Please find the attached rubrics and Please ask your expert to mention in comments in the code that where he is implementing these steps so that my professor can have a clear look. Please ask your expert to have a look at this and ensure that everything is implemented in assignment.

len1239981

10/12/2016 6:22:07 AM

Please go through the assignment as a whole as there are multiple small things needed by professor and he cut the marks if we even forget to implement small functionality. Please provide me good assignment.

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd