Lightweight socket application, built to ping annoying colleagues who won't respond.
PingTool is an application with a client / server implementation that allows you to ping other users.
This project aims to demonstrate modern socket and threading capabilities in a Python format.
- Lightweight client / server implementation.
- Simple command system.
- Argument parsing.
- Logging system.
- Configurable settings.
- Multithreading server for multiple connections.
- Threaded client for sending and receiving data.
- Easy to use command system.
You can install and update the project through PyPi;
$ pip install PingTool
Optionally, you can install and run manually by pulling from the latest release
- Run the
client
by runningpython client.py
- The
server
is executable viapython server.py
- Configuration is done via
config.json
and arguments.
Program makes use of built-in the Python sockets
library.
Server accepts commands, by sending and receiving specific commands.
All responses and commands are sent following a static format, cmd:arg
.
This also goes for responses, which follow the same format.
Sending an end-line is recommended, but not required.
Data is sent in utf-8
encoded bytes.
The server makes use of config.json
for configuration.
Furthermore, both client and server make use arguments for runtime configuration.
Make use of --help
or -h
to see all available arguments.
For more information, see the wiki
Credits go to these awesome projects for making this possible!