File Transfer implementation for Distributed Computing assignment in Institute of Technology Tralee, Kerry, Ireland.
Both client-side and server-side provides a MS-DOS interface implementation (Not GUI). Client Functionalities:
- Login.
- Logout.
- Register (additional feature).
- Upload a file to folder unique to each client on the server.
- Download a file to a folder.
Server Functionalities:
- Execute functionalities requested by user mentioned above.
- DTLS implementation to secure communication on UDP-based application (Java 9 API and above).
DTLSEngine and DTLSOverDatagram were referenced based on OpenJDK.
Protocol message was designed based on RFC 768 and reference to RFC 959. Table below shows a summary of server response code and its response message.
Client Request | Server Response Code | Server Response Message |
---|---|---|
300 Login | 301 | Login successful. |
302 | Login unsuccessful. | |
303 | User is already logged in. | |
400 Logout | 401 | Logout successful. |
402 | Logout unsuccessful. | |
500 Register | 501 | Register successful. |
502 | Register unsuccessful. | |
600 Upload | 601 | Upload successful. |
602 | Upload unsuccessful. Please login. | |
603 | Upload unsuccessful. File not found. | |
700 Download | 701 | Download successful. |
702 | Download unsuccessful. Please login. | |
703 | Download unsuccessful. File not found. | |
- | 900 | Invalid message. System Error. |
Note: SSL Keystore was generated by author, not from registered organization. A detailed documentation including user manual and protocol message design is available upon request.