Giter Club home page Giter Club logo

ftp's Introduction

FTP

A basic FTP server created with TCP sockets

Functionalities supported by my implementation:-

  • User authentication system.
  • Function to add users on server. (A separate thread is created for adding users on server)
  • Multiple Clients using Threads.
  • Progress Bar (Statistics like percentage completed, No.of bytes received, No.of bytes remaining, Total time taken for an operation etc of the current operation) are printed on Client side.
  • GET and PUT methods are supported. Default Mode is ASCII Mode but can be changed to Binary Mode and back to ASCII Mode also.
  • The client can also see the list of files uploaded by him to the server.
  • Different directories are created for different clients on the server side, so that files of one user do not get mixed up with files of others.
  • Error handling is done for get and put methods.

Instructions to Run program:-

Server file is server.cpp

Command to run:-

  1. g++ -o ser server.cpp -lpthread
  2. ./ser

Client file is client.cpp [Located inside Client Folder]

Command to run:-

  1. cd ./client
  2. g++ -o cli client.cpp
  3. ./cli

Directory Structure:- The Root Directory consists of FTPServer file (server.cpp). Immediately after running the server, 2 folders Client1 and Client2 are created (for default users). Upon addition of further users, separate folders are created for each user. Root directory also contains of client folder which consists of FTP-Client file i.e., client.cpp .

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.