I have implmented the file server using python socket programming. User can connect to the file server using the IP address and port number. Once the connection establishes, user can run commands that allows user to upload, remove, downlaod files over the network inside the file server.
Following command moves the user up one directory from the current working directory.
cd ..Following command will put the user in a subdirectory named folder_name in this case.
cd folder_nameFollowing command will create the new directory named folder_name in this case.
mkdir folder_nameFollowing command will remove the folder named folder_name in this case. You can also remove the file by giving file's name.
rm folder_name [/file-name.txt]Following command will upload a file from the client to the current working directory on the server.
ul file-name.txtFollowing command will download a file from the current working directory on the server to the client.
dl file-name.txtFollowing command will exits the applications.
exit-
When client tries to establish the connection with server, firstly it shares the unique TOKEN to client machine. Once the varification process from both ends suucessfully completes only then they would be able to communicate to each other. This feature enhances the security of the file server, if some anonymous tries to connect to the server, server will immediately refuses the connection. This TOKEN will be shared every time client issues the commands to server.
-
The server is capable of handling multiple clients at the same time, therefore ideally no down-time for any client. Every client's session will be unique.
Before running the project make sure you have python installed in your computer.
Clone the project
git clone https://github.com/ronakjpatel/FileServer.gitGo to the project directory
cd my-projectStart the server
python server.pyConnect to server from client side
python client.pyI learned the basics of python socket programming after finishing this project. Overall, it was a great learning experience for me. I look forward to do more interesting projects of the same type in the future,
Python π
