You are required to implement a very simple FTP server and client. The server (using TCP sockets) should take the list of available files as command-line arguments.
For example:
java [login to view URL] [login to view URL] [login to view URL] [login to view URL]
The client should take the server address and port as command-line arguments.
For example:
java [login to view URL] [login to view URL] 5115
Then, the client should wait for user input from STDIN, and should support the following three commands:
dir -- retrieves the list of files offered, and prints them on the screen
get <filename> -- retrieves the file with the given filename
bye -- closes the communication with the server and exits
Any other input should be ignored (not exiting!) with a simple “syntax error” message printed on the screen.
Socket interface:
For the TCP sockets implementation, your client should connect to the server, and send it a String (use ObjectInputStream and ObjectOutputStream) containing one of the following commands, expecting the respective responses from the server:
dir -- The server sends back a String[] containing the filenames of available files
blocks filename (for instance: blocks [login to view URL]) -- The server sends back an integer (use [login to view URL]()) denoting the number of 1024-byte blocks in that file. For instance, if a file has 5000 bytes, it has 5 blocks (4 blocks of 1024 bytes and a final block of 904 bytes)
get filename block (for instance: get [login to view URL] 4) -- The server sends back a 1024 byte long block of the file. The last block of the file may have less than 1024 bytes.
Program functions and features:
Relevant and meaningful error messages during the operation of the Client and Server programs
Option to choose the desired folder(s) and file(s) for both Server and Client environment
Option to search for the desired file to Send or Receive for both Server and Client environment
Ability to a transfer file in both direction between Server and Client
Transferring of different file types and sizes
Hello,
Before you select a part time developer from here, take a look at fugacode.com. If you like what you see, contact them. That's all.
"Why hire freelancers? when you can hire professional developers for the same cost"
- Top Ranked Freelancing developers are with fugacode now. But not as individual developers. But as an award winning team in one building. Just for you!
Regards.
PS: 100% money back guarantee will be provided and freelancer milestone system can be used.