Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

Multi-segmented FTP client program with GUI using multithreading in C and GTK

Notifications You must be signed in to change notification settings

rohit-takhar/Multithreaded-ftp-client-in-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 

Repository files navigation

Multisegmented FTP client program in C

Apart from all functionalities of standard FTP, the important thing on which I have worked is to increase the downloading speed of very large files using multithreading(used POSIX threads).
For very large files, multiple threads are created and each thread creates an instruction connection and data connection with the server. Each thread downloads a specific chunk of data and then all are combined together to get the file.
#Note: Use only for very large files because creating and managing threads is also an overhead for CPU. Performance will degrade for smaller files.

Following functions are included. For example:
ls : To list files in current directory on server side.
ls -l : Same as ls, with some more details.
pwd : Current working directory on server side.
get filename : Download file from server.(File should be present on server side).
put filename : Upload file on server.
uniqput filename : Uniquely upload file on server.
mkdir directory_name : Create directory on server.
rmdir directory_name : Remove directory on server.
rm filename : Remove file on server.
cd directory_name : Traverse file system on server side.
rename old_filename new_filename : Renaming file on server.

!ls : To list files in current directory on client side.
!ls -l : Same as !ls, with some more details.
!pwd : Current working directory on client side.
!cd directory_name : Traverse file system on client side.
!mkdir directory_name : Create directory on client side.
!rmdir directory_name : Remove directory on client side.

To run:
Run command make all to compile program.
To execute, run ./myftp server-ip-address.
Enter user credentials to login on server.
#Features in GUI(Apart from all the functionalities)

  • Drag N Drop to upload and download files.
  • Double click to enter directory.

#Acknowledgements

#TODO List

  • Multiple selection
  • Progress Bar

About

Multi-segmented FTP client program with GUI using multithreading in C and GTK

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published