Build a TCP server that can accept and hold a maximum of N clients (where N is configurable).These clients are assigned ranks based on first-come-first-serve, i.e whoever connects first receives the next available high rank. Ranks are from 0–N, 0 being the highest rank.
Clients can send to the server commands that the server distributes among the clients. Only a client with a lower rank can execute a command of a higher rank client. Higher rank clients cannot execute commands by lower rank clients, so these commands are rejected. The command execution can be as simple as the client printing to console that command has been executed.
If a client disconnects the server should re-adjust the ranks and promote any client that needs to be promoted not to leave any gaps in the ranks.
[A DISTRIBUTED SYSTEM] is a type of system that lets computers independent of each other work together.
-Python -Docker -Shell
Describe between 1-3 key features of the application.
- [Server to hold a maximum number of clients]
- [SErver distributing commands to clients]
- [The server can reassign a number to a client in the server queue]
To get started with the project, make sure you have installed the following in your computer operating system
In order to run this project you need:
Install python in your machine if you don't have
Clone this repository to your desired folder:
git clone https://github.com/paulmunyao/-A-distributed-system.git
python3 socketserver.py
python3 clientserver.py
Mention all of the collaborators of this project.
👤 Author1
- GitHub: @githubhandle
- Twitter: @twitterhandle
- LinkedIn: LinkedIn
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
I would like to thank
This project is MIT licensed.