Giter Site home page Giter Site logo

shahzad-tech / ftp-client-server-communication-using-socket Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 18 KB

The basic purpose of this task is to create an application for transferring files, deleting files, creating directories and browsing directories between server and multiple clients. Basic mechanisms of FTP (File Transfer Protocol) and socket programming have been used for implementation of this networked application. Since the server can handle multiple client requests simultaneously, threads have been introduced to make sure each client request runs smoothly and gets its required response from the server. To make sure server does not get attacked through forbidden or malicious clients, only authorized clients are provided access after authentication. System files will not be transferred or modified by clients so that server does not crash. Thread pools have been used to limit the number of clients, server will cater to at a time in order to manage resources and memory properly.

Java 100.00%
java threads ftp client server socket socketprogramming authentication networking threadpool

ftp-client-server-communication-using-socket's Introduction

1.	Run server class
2.	Run a client class, multiple client classes can be started here too
3.	Connected to a client with client’s port number will appear at server’s console
4.	Enter username and password at client’s console, users.txt file has user details make sure its path is set rightly, right now file path is set to F:\ drive. (currently users.txt is available in src) 
5.	On successful authentication menu options will appear on console screen
6.	Type choices 1-7 to perform your desired task
7.	From choice #1 client will upload/send a file through server. On selecting this option client has to select the file to send.

8.	With choice #2 client will download/receive a file through a server. First user has to browse the directory from where he wants to receive the file.

9.	Using choice #3 client will browse the list of files and subdirectories in a specified directory. Mainly used in receive file module.

10.	Through choice #4 client will use it to browse its path back to initial point. Mainly used after receiving file to clear path and directory.

11.	Client will use choice #5 to make directory i.e. have to give whole path including the folder name and the name of directory to be created in that folder.

12.	Choice #6 client will use it to delete file through server.
13.	Choice # 7 will exit the client class and close connection with server
14.	Closing connection with client and its port will appear at server console
15.	Connection closed with server will appear on client console

ftp-client-server-communication-using-socket's People

Contributors

shahzad-tech avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.