Java FTP Server and Client |
|||||||||||||||||||||||||||||||||||||||||||||||||||||
| This project was part of one of my courses - 2nd yr I think and I found the backup lying on a dusty cd so decided to put it up here. I havent bothered looking up the code again so do some work figuring out how to get it to work.... look for main methods, one for server and one for client. The GUI part is just for fun, command line all the work anyway. DONT contact me for any problems....figure them out and then maybe help me post a correction for others copying stuff off the internet! The FTP Server and Client have been successfully implemented using
UDP. Once the server is started clients can connect to it and use
the familiar FTP commands. Implementation in Java makes it platform
independent and we can successfully transfer files running server
in Linux and client on Windows and vice-versa.
Error Checking For reliable transfer over a packet based connection the stop and wait ARQ and go-back-to N ARQ have been implemented. All commands and files are reliably transferred based on these methods respectively. Packet level error is checked using Checksum. In case of inability to send/receive the client/server is notified. Program Results/MeasurementsThe following observations were made:
The packet delays are due to time to send/receive the ACK, and disk I/O time, and other processing time. Increasing the packet size shows a decrease in transfer time, however larger packets mean greater loss if the packet is lost and retransmitted. Performance can be improved by using a dynamically allocated timeout value and packet size depending on network conditions. In case of a reliable/fast link the packet size can be increased and timeout decreased and vice versa for a unreliable/slow link. GUI ClientThe Client has been implemented in an intuitive Graphical User Interface version. The GUI has been implemented solely using the java.awt.* classes. Specifically Swing was not used to focus more on programming. BTW... in those days I didn't know javadoc so good luck!! |
|||||||||||||||||||||||||||||||||||||||||||||||||||||