This project is a simple Tracker Server implementation used in a hybrid peer-to-peer chat system. It manages peer registrations and provides a list of available peers upon request.
- Accept connections from peers
- Receive and store peer information (
IPandPORT) - Return the current peer list to requesting clients
- Threaded handling for multiple client connections
- Basic logging of system events
README.md server client tracker.log data utils
These are all part of the Python standard library:
socketthreadingargparsejsonlogging
- Peer registration via
submit_info <ip> <port> - Peer list sharing via
get_listcommand - Logging to
tracker.log - Connection management using threads
- Simple CLI with `argparse
- Tracker crashes if peer sends invalid or incomplete command
- No validation for IP or port format
- Server does not handle persistent storage (peer list is in-memory only)
- Add persistent peer storage (e.g., save/load from file or database)
- Add heartbeat mechanism to remove inactive peers
- Add authentication or verification for peer identity
- Improve CLI and interactive server control
- Add support for peer removal manually or on disconnect