Skip to content

dario-santos/FTP-Client-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Stars Issues GNU GPLv3 License LinkedIn


A FTP Client and Server

A FTP Client and Server written in C. This is the final project of one of my university subjects.
· Report a Bug · Request a Feature

Table of Contents

About The Project

This project is one of my school projects. It's a FTP client and server that supports file and messages transfer. It was written in ANSI C with posix threads and a syncronization system with locks to allow multiple Clients to send and receive messages, and files, from the server at the same time.

The communication between the Client and the Server is made using name pipes (FIFOS), and as stated before, the server is multithreaded, this way it can handle multiple clients at the same time.

Built With

Getting Started

Prerequisites

You will need a C compiler and a UNIX OS

Installation

  1. Clone the repo
git clone https:://github.com/dario-santos/FTP-Client-Server.git
  1. Run the Make files inside the Client and the Server folder a)
cd Project/Server

make

b)

cd Project/Client

make

Usage

  1. Open a terminal and run the server file.
  2. Open another terminal and run the client file.
  3. Follow the menu to perform the desired functionality.

Do not kill the Server terminal, if you want to end the Server process terminate all of the Clients and then press q to end it. If you kill the Server by accident you will need to go to the tmp directory and delete all of the FIFOS there.

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the GNU GPLv3 License. See LICENSE for more information.

Contact

Dário Santos - LinkedIn - dariovfsantos@gmail.com

Project Link: https://github.com/dario-santos/FTP-Client-Server

Acknowledgements