Skip to content

File transfer system to send/receive any type of files to/from server/client on a LAN network.

Notifications You must be signed in to change notification settings

JalalSayed1/File-Transfer-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

About the project:

  1. This was the first accessed exercise for my Networking and Operating Systems course (NOSE2 COMPSCI2024) in Level 2 - semester 1 on 29/10/2021.
  2. I achieved in this project a grade of A4 ≈ (74% - 78%).
  3. It only works on a local LAN network. Therefore, it cannot transfer files to a host outside your local network.
  4. It does not have a GUI. Therefore, you need to run both client and server scripts from the command line.
  5. It only works on windows operating systems.

How to use:

  1. Make sure you are in the right directory. If not, use cd <YOUR/FOLDER/PATH> to navigate to the correct folder.

  2. On the command line, write the follows:

    • server.py file: python server.py <PORT NUMBER>
    • client.py file: python client.py localhost <PORT NUMBER> <ACTION WORD> <FILENAME>

For example: server.py file:

python server.py 2000

client.py file:

python client.py localhost 2000 LIST
python client.py localhost 2000 PUT <FILENAME>
python client.py localhost 2000 GET <FILENAME>

Things to consider before running it:

  1. Make sure you choose a <PORT NUMBER> that is in the allowed assignment port numbers range 1024 to 49151. Otherwise, the OS might not be able to bind it and it will return an error.
  2. Make sure the <PORT NUMBER> is consistent on the command arguments for server.py and client.py. Otherwise, client will never be able to find the server and initiate communication.
  3. When using PUT, make sure the file required to be uploaded to the server is in the client folder.
  4. FILENAME must be the full filename of the file to be uploaded/downloaded with its extension. E.g. picture.jpg.

What did I learn from this:

  1. Networking and using the Socket library in Python.
  2. Developed my problem solving skills and the ability to work on a bigger project than I used to.

About

File transfer system to send/receive any type of files to/from server/client on a LAN network.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages